Bagikan melalui


Fungsi CryptFormatObject (wincrypt.h)

Fungsi CryptFormatObject memformat data yang dikodekan dan mengembalikan string Unicode dalam buffer yang dialokasikan sesuai dengan jenis pengodean sertifikat.

Sintaks

BOOL CryptFormatObject(
  [in]      DWORD      dwCertEncodingType,
  [in]      DWORD      dwFormatType,
  [in]      DWORD      dwFormatStrType,
  [in]      void       *pFormatStruct,
  [in]      LPCSTR     lpszStructType,
  [in]      const BYTE *pbEncoded,
  [in]      DWORD      cbEncoded,
  [out]     void       *pbFormat,
  [in, out] DWORD      *pcbFormat
);

Parameter

[in] dwCertEncodingType

Jenis pengodean yang digunakan pada sertifikat. Jenis pengodean sertifikat yang saat ini ditentukan yang digunakan X509_ASN_ENCODING.

[in] dwFormatType

Format nilai jenis. Tidak digunakan. Atur ke nol.

[in] dwFormatStrType

Nilai jenis format struktur. Parameter ini bisa nol, atau Anda dapat menentukan satu atau beberapa bendera berikut dengan menggunakan operator bitwise-OR untuk menggabungkannya.

Nilai Makna
0
Menampilkan data dalam satu baris. Setiap subbidang digabungkan dengan koma (,). Untuk informasi selengkapnya, lihat Keterangan.
CRYPT_FORMAT_STR_MULTI_LINE
0x0001
Tampilkan data dalam beberapa baris, bukan baris tunggal (default). Untuk informasi selengkapnya, lihat Keterangan.
CRYPT_FORMAT_STR_NO_HEX
0x0010
Menonaktifkan cadangan heksadesimal. Untuk informasi selengkapnya, lihat Keterangan.

[in] pFormatStruct

Penunjuk ke format struktur. Tidak digunakan. Atur ke NULL.

[in] lpszStructType

Penunjuk ke OID yang menentukan data yang dikodekan. Jika kata berurutan tinggi dari parameter lpszStructType adalah nol, kata berurutan rendah menentukan pengidentifikasi bilangan bulat untuk jenis struktur yang diberikan. Jika tidak, parameter ini adalah penunjuk panjang ke string yang dihentikan null.

Tabel berikut ini mencantumkan OID yang didukung dengan ekstensi OID terkait.

Nilai Makna
SPC_FINANCIAL_CRITERIA_OBJID
1.3.6.1.4.1.311.2.1.27
SPC_SP_AGENCY_INFO_OBJID
1.3.6.1.4.1.311.2.1.10
szOID_AUTHORITY_INFO_ACCESS
1.3.6.1.5.5.7.1.1
szOID_AUTHORITY_KEY_IDENTIFIER2
2.5.29.35
szOID_BASIC_CONSTRAINTS2
2.5.29.19
szOID_CERT_POLICIES
2.5.29.32
szOID_CRL_DIST_POINTS
2.5.29.31
szOID_CRL_REASON_CODE
2.5.29.21
szOID_ENHANCED_KEY_USAGE
2.5.29.37
szOID_ISSUER_ALT_NAME2
2.5.29.18
szOID_KEY_ATTRIBUTES
2.5.29.2
szOID_KEY_USAGE
2.5.29.15
szOID_KEY_USAGE_RESTRICTION
2.5.29.4
szOID_NEXT_UPDATE_LOCATION
1.3.6.1.4.1.311.10.2
szOID_RSA_SMIMECapabilities
1.2.840.113549.1.9.15
szOID_SUBJECT_ALT_NAME2
2.5.29.17
szOID_SUBJECT_KEY_IDENTIFIER
2.5.29.14

[in] pbEncoded

Penunjuk ke data yang dikodekan untuk diformat. Jika lpszStructType adalah salah satu OID yang tercantum di atas, pbEncoded adalah ekstensi yang dikodekan.

[in] cbEncoded

Ukuran, dalam byte, dari struktur pbEncoded .

[out] pbFormat

Penunjuk ke buffer yang menerima string yang diformat. Ketika buffer yang ditentukan tidak cukup besar untuk menerima struktur yang didekodekan, fungsi mengatur ERROR_MORE_DATA dan menyimpan ukuran buffer yang diperlukan, dalam byte, ke dalam variabel yang ditunjukkan oleh pcbFormat. Parameter ini bisa NULL untuk mengatur ukuran informasi ini untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.

[in, out] pcbFormat

Penunjuk ke variabel yang menentukan ukuran, dalam byte, dari buffer yang diacu oleh parameter pbFormat . Ketika fungsi kembali, variabel yang diacu oleh parameter pcbFormat berisi jumlah byte yang disimpan dalam buffer. Parameter ini bisa NULL, hanya jika pbFormatADALAH NULL.

Catatan Saat memproses data yang dikembalikan dalam buffer, aplikasi perlu menggunakan ukuran aktual data yang dikembalikan. Ukuran aktual mungkin sedikit lebih kecil dari ukuran buffer yang ditentukan pada input. (Pada input, ukuran buffer biasanya ditentukan cukup besar untuk memastikan bahwa data output terbesar yang mungkin akan masuk ke dalam buffer.) Pada output, variabel yang diacu oleh parameter ini diperbarui untuk mencerminkan ukuran aktual data yang disalin ke buffer.
 

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE. Jika tidak berhasil, nilai yang dikembalikan adalah FALSE. Untuk mengambil informasi kesalahan yang diperluas, gunakan fungsi GetLastError .

Keterangan

Perilaku default fungsi ini adalah mengembalikan tampilan baris tunggal dari data yang dikodekan, yaitu, setiap subbidang digabungkan dengan koma (,) pada satu baris. Jika Anda lebih suka menampilkan data dalam beberapa baris, atur bendera CRYPT_FORMAT_STR_MULTI_LINE. Setiap subbidang kemudian akan ditampilkan pada baris terpisah.

Jika tidak ada pemformatan rutin yang diinstal atau terdaftar untuk parameter lpszStructType , cadangan heksadesimal dari CRYPT_INTEGER_BLOB yang dikodekan akan dikembalikan. Pengguna dapat mengatur bendera CRYPT_FORMAT_STR_NO_HEX untuk menonaktifkan cadangan heksadesimal.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header wincrypt.h
Pustaka Crypt32.lib
DLL Crypt32.dll

Lihat juga

CRYPT_INTEGER_BLOB