IX509SignatureInformation::GetSignatureAlgorithm method (certenroll.h)
Metode GetSignatureAlgorithm mengambil pengidentifikasi objek algoritma penandatanganan (OID).
Sintaks
HRESULT GetSignatureAlgorithm(
[in] VARIANT_BOOL Pkcs7Signature,
[in] VARIANT_BOOL SignatureKey,
[out] IObjectId **ppValue
);
Parameter
[in] Pkcs7Signature
Variabel VARIANT_BOOL yang menentukan apakah algoritma akan digunakan untuk menandatangani permintaan sertifikat PKCS #7 atau CMC.
[in] SignatureKey
Variabel VARIANT_BOOL yang menentukan apakah algoritma yang hanya digunakan untuk penandatanganan lebih disukai ketika OID algoritma dikaitkan dengan lebih dari satu tujuan. Misalnya, XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) dapat digunakan untuk penandatanganan dan pertukaran kunci.
[out] ppValue
Alamat variabel yang menerima penunjuk ke antarmuka IObjectId yang mewakili OID algoritma.
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 |
---|---|
|
OID algoritma hashing, atau properti NullSigned belum ditentukan tetapi OID algoritma penandatanganan tidak dapat ditemukan. |
|
Algoritma tanda tangan gabungan tidak dapat ditemukan. |
Keterangan
Metode ini mencari algoritma penandatanganan cache yang konsisten dengan parameter input. Jika tidak ada yang ditemukan, metode ini menggunakan parameter input ditambah nilai yang ditetapkan ke berbagai properti IX509SignatureInformation seperti yang ditunjukkan oleh daftar berikut.
-
Pkcs7Signature = true, NullSigned = true
Kasus ini mewakili permintaan sertifikat PKCS #7 yang ditandatangani null. Metode mengembalikan OID XCN_OID_PKIX_NO_SIGNATURE (1.3.6.1.5.5.7.6.2).
-
Pkcs7Signature = true, NullSigned = false
Kasus ini mengambil OID algoritma tanda tangan diskrit untuk permintaan PKCS #7 yang tidak ditandatangani null. Tanda tangan diskrit mengharuskan properti HashAlgorithm dan PublicKeyAlgorithm diatur. Dalam kasus khusus di mana algoritma kunci publik XCN_OID_X957_DSA dan algoritma hashing tidak XCN_OID_OIWSEC_sha1, algoritma tanda tangan OID yang diambil XCN_OID_X957_SHA1DSA (1.2.840.10040.4.3).
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = true
Kasus ini mengambil OID algoritma tanda tangan diskrit untuk permintaan PKCS #10 dan mengodekan OID algoritma hash di properti Parameter . Properti HashAlgorithm dan PublicKeyAlgorithm harus diatur.
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = false
Kasus ini mengambil OID algoritma tanda tangan diskrit untuk permintaan PKCS #7. Properti HashAlgorithm dan PublicKeyAlgorithm harus diatur.
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 |