Bagikan melalui


Metode IObjectId::InitializeFromAlgorithmName (certenroll.h)

Metode InitializeFromAlgorithmName menginisialisasi objek dari nama algoritma atau pengidentifikasi objek. Metode ini telah disediakan terutama untuk memungkinkan Anda menginisialisasi objek dari nama algoritma API Kriptografi: Generasi Berikutnya (CNG). Namun, Anda dapat menentukan nama OID apa pun. Metode ini diaktifkan web.

Sintaks

HRESULT InitializeFromAlgorithmName(
  [in] ObjectIdGroupId        GroupId,
  [in] ObjectIdPublicKeyFlags KeyFlags,
  [in] AlgorithmFlags         AlgFlags,
  [in] BSTR                   strAlgorithmName
);

Parameter

[in] GroupId

Nilai enumerasi ObjectIdGroupId yang menentukan grup OID untuk dicari. Ini bisa menjadi salah satu grup algoritma berikut:

  • XCN_CRYPT_HASH_ALG_OID_GROUP_ID
  • XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID
  • XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID
  • XCN_CRYPT_SIGN_ALG_OID_GROUP_ID
Selain itu, Anda juga dapat menentukan grup yang tidak berisi algoritma kriptografi:
  • XCN_CRYPT_RDN_ATTR_OID_GROUP_ID
  • XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID
  • XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID
  • XCN_CRYPT_POLICY_OID_GROUP_ID
  • XCN_CRYPT_TEMPLATE_OID_GROUP_ID

[in] KeyFlags

Nilai enumerasi ObjectIdPublicKeyFlags yang menentukan apakah akan mencari penandatanganan atau algoritma enkripsi. Ini bisa menjadi salah satu nilai berikut:

  • XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
  • XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
Anda dapat menggunakan salah satu nilai untuk membedakan di antara algoritma seperti RSA yang dapat digunakan untuk mengenkripsi dan menandatangani pesan. Anda juga harus menentukan XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID dalam parameter GroupId .

[in] AlgFlags

Nilai enumerasi AlgoritmaFlags . Ini bisa menjadi salah satu nilai berikut:

  • AlgoritmaFlagsNone
  • AlgoritmaFlagsWrap
Jika Anda menentukan XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID untuk parameter GroupId , Anda dapat menggunakan enumerasi AlgoritmaFlags untuk mencari OID yang dapat digunakan untuk membungkus kunci. Misalnya, Anda dapat mengambil informasi tentang algoritma AES128wrap jika Anda menentukan panjang bit 128 (lihat bagian Keterangan), atur parameter strAlgorithmName ke AES, dan tentukan AlgoritmaFlagsWrap.

[in] strAlgorithmName

Variabel BSTR yang berisi nama. Anda dapat menentukan nama, atau OID dalam format desimal putus-putus. Metode ini memverifikasi bahwa formatnya konsisten dengan standar ASN.1 X.208. Untuk informasi selengkapnya tentang nama algoritma CNG, lihat Pengidentifikasi Algoritma CNG.

Mengembalikan nilai

Jika fungsi berhasil, fungsi akan mengembalikan S_OK.

Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.

Mengembalikan kode/nilai Deskripsi
CERTSRV_E_PROPERTY_EMPTY
Informasi OID tidak dapat ditemukan.
CRYPT_E_UNKNOWN_ALGO
Nama algoritma tidak dikenali.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Objek sudah diinisialisasi.

Keterangan

Anda dapat menggunakan 16 bit atas parameter GroupId untuk menentukan ukuran kunci untuk algoritma yang menerima panjang bit variabel. Misalnya, untuk menginisialisasi objek IObjectId dari algoritma AES 192-bit, tentukan "AES" untuk parameter strAlgorithmName, geser panjang ke kiri 16, dan lakukan kombinasi bitwise-OR pada panjang bit yang digeser dan nilai GroupId.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header certenroll.h
DLL CertEnroll.dll

Lihat juga

IObjectId