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

Lihat juga

Antarmuka CertEnroll

IDispatch

ISignerCertificates