Antarmuka ISignerCertificate (certenroll.h)
Antarmuka ISignerCertificate mewakili sertifikat penandatanganan yang memungkinkan Anda menandatangani permintaan sertifikat. Saat Anda menginisialisasi antarmuka, Kontrol Pendaftaran Sertifikat mengambil sertifikat penandatanganan dari penyimpanan pribadi dan menggunakannya untuk menemukan kunci privat terkait. Anda dapat menggunakan kunci privat untuk menandatangani PKCS #7 atau permintaan CMC tetapi bukan permintaan PKCS #10. Permintaan PKCS #10 harus ditandatangani dengan menggunakan kunci privat yang terkait dengan kunci publik yang disertakan dalam permintaan. Sertifikat yang ditandatangani sendiri dapat ditandatangani dengan menggunakan kunci privat yang terkait dengan permintaan atau kunci privat yang terkait dengan sertifikat penandatanganan. Ini dirangkum dalam tabel berikut.
Jenis permintaan (Antarmuka) | Sertifikat penandatanganan |
---|---|
PKCS #7(IX509CertificateRequestPkcs7) | 1 |
PKCS #10(IX509CertificateRequestPkcs10) | 0 |
CMC(IX509CertificateRequestCmc) | 0 atau lebih |
Ditandatangani sendiri(IX509CertificateRequestCertificate) | 0 atau 1 |
Saat menandatangani permintaan CMC, data yang akan ditandatangani terdiri dari objek CmcData yang dikodekan Distinguished Encoding Rules (DER) yang dibungkus dalam objek CMS SignedData. Bidang encryptedDigest dari objek SignerInfo berisi tanda tangan, dan beberapa objek SignerInfo dapat dikaitkan dengan permintaan.
---------------------------------------------------------------------
-- CMC request data
---------------------------------------------------------------------
CmcData ::= SEQUENCE
{
controlSequence SEQUENCE OF TaggedAttribute,
reqSequence SEQUENCE OF TaggedRequest,
cmsSequence SEQUENCE OF TaggedContentInfo,
otherMsgSequence SEQUENCE OF TaggedOtherMs
}
---------------------------------------------------------------------
-- SignedData object that wraps the CMC request
---------------------------------------------------------------------
SignedData ::= SEQUENCE
{
version INTEGER,
digestAlgorithms DigestAlgorithmIdentifiers,
contentInfo ContentInfo,
certificates [0] IMPLICIT Certificates OPTIONAL,
crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
signerInfos SignerInfos
}
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
DigestAlgorithmIdentifiersNC ::= SET OF DigestAlgorithmIdentifierNC
SignerInfos ::= SET OF SignerInfo
SignerInfo ::= SEQUENCE
{
version INTEGER,
sid CertIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
digestEncryptionAlgorithm DigestEncryptionAlgId,
encryptedDigest EncryptedDigest,
unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
}
Setiap objek ISignerCertificate dikaitkan dengan satu objek IX509SignatureInformation yang mengidentifikasi hash dan algoritma kunci publik yang digunakan. Objek ini dibuat dan diinisialisasi ketika objek ISignerCertificate diinisialisasi.
Warisan
Antarmuka ISignerCertificate mewarisi dari antarmuka IDispatch . ISignerCertificate juga memiliki jenis anggota ini:
Metode
Antarmuka ISignerCertificate memiliki metode ini.
ISignerCertificate::get_Certificate Mengambil array byte yang dikodekan Distinguished Encoding Rules (DER) yang berisi sertifikat. |
ISignerCertificate::get_ParentWindow Menentukan atau mengambil ID jendela yang digunakan untuk menampilkan informasi sertifikat penandatanganan. (Dapatkan) |
ISignerCertificate::get_PrivateKey Mengambil kunci privat yang terkait dengan objek ISignerCertificate. |
ISignerCertificate::get_SignatureInformation Mengambil objek IX509SignatureInformation yang berisi informasi tentang tanda tangan sertifikat. |
ISignerCertificate::get_Silent Menentukan atau mengambil nilai Boolean yang menunjukkan apakah pengguna diberi tahu saat kunci privat digunakan untuk menandatangani permintaan sertifikat. (Dapatkan) |
ISignerCertificate::get_UIContextMessage Menentukan atau mengambil string yang berisi teks antarmuka pengguna yang terkait dengan sertifikat penandatanganan. (Dapatkan) |
ISignerCertificate::Initialize Menginisialisasi objek dari sertifikat penandatanganan. |
ISignerCertificate::p ut_ParentWindow Menentukan atau mengambil ID jendela yang digunakan untuk menampilkan informasi sertifikat penandatanganan. (Put) |
ISignerCertificate::p ut_Pin Menentukan nomor identifikasi pribadi (PIN) yang digunakan untuk mengautentikasi pengguna kartu pintar. |
ISignerCertificate::p ut_Silent Menentukan atau mengambil nilai Boolean yang menunjukkan apakah pengguna diberi tahu saat kunci privat digunakan untuk menandatangani permintaan sertifikat. (Put) |
ISignerCertificate::p ut_UIContextMessage Menentukan atau mengambil string yang berisi teks antarmuka pengguna yang terkait dengan sertifikat penandatanganan. (Put) |
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 |