ISignerCertificate-Schnittstelle (certenroll.h)
Die ISignerCertificate-Schnittstelle stellt ein Signaturzertifikat dar, mit dem Sie eine Zertifikatanforderung signieren können. Wenn Sie die Schnittstelle initialisieren, ruft die Zertifikatregistrierungssteuerung das Signaturzertifikat aus dem persönlichen Speicher ab und verwendet es, um einen zugeordneten privaten Schlüssel zu finden. Sie können den privaten Schlüssel verwenden, um eine PKCS #7- oder CMC-Anforderung, aber keine PKCS #10-Anforderung zu signieren. PKCS #10-Anforderungen müssen mit dem privaten Schlüssel signiert werden, der dem öffentlichen Schlüssel zugeordnet ist, der in der Anforderung enthalten ist. Selbstsignierte Zertifikate können mit dem privaten Schlüssel signiert werden, der der Anforderung zugeordnet ist, oder mit dem privaten Schlüssel, der dem Signaturzertifikat zugeordnet ist. Dies wird in der folgenden Tabelle zusammengefasst.
Anforderungstyp (Schnittstelle) | Signaturzertifikate |
---|---|
PKCS #7(IX509CertificateRequestPkcs7) | 1 |
PKCS #10(IX509CertificateRequestPkcs10) | 0 |
CMC(IX509CertificateRequestCmc) | 0 oder mehr |
Selbstsigniert(IX509CertificateRequestCertificate) | 0 oder 1 |
Beim Signieren einer CMC-Anforderung bestehen die zu signierenden Daten aus einem Distinguished Encoding Rules (DER) codierten CmcData-Objekt, das in ein CMS SignedData-Objekt umschlossen ist. Das Feld encryptedDigest des SignerInfo-Objekts enthält eine Signatur, und der Anforderung können mehrere SignerInfo-Objekte zugeordnet werden.
---------------------------------------------------------------------
-- 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
}
Jedes ISignerCertificate-Objekt ist einem IX509SignatureInformation-Objekt zugeordnet, das die verwendeten Hashing- und Öffentlichen Schlüsselalgorithmen identifiziert. Dieses Objekt wird erstellt und initialisiert, wenn das ISignerCertificate-Objekt initialisiert wird.
Vererbung
Die ISignerCertificate-Schnittstelle erbt von der IDispatch-Schnittstelle . ISignerCertificate verfügt auch über folgende Membertypen:
Methoden
Die ISignerCertificate-Schnittstelle verfügt über diese Methoden.
ISignerCertificate::get_Certificate Ruft ein Distinguished Encoding Rules (DER)-codiertes Bytearray ab, das das Zertifikat enthält. |
ISignerCertificate::get_ParentWindow Gibt die ID des Fensters an, das zum Anzeigen von Signaturzertifikatinformationen verwendet wird, oder ruft sie ab. (Get) |
ISignerCertificate::get_PrivateKey Ruft den privaten Schlüssel ab, der dem ISignerCertificate-Objekt zugeordnet ist. |
ISignerCertificate::get_SignatureInformation Ruft ein IX509SignatureInformation-Objekt ab, das Informationen zur Zertifikatsignatur enthält. |
ISignerCertificate::get_Silent Gibt einen booleschen Wert an oder ruft diesen ab, der angibt, ob der Benutzer benachrichtigt wird, wenn der private Schlüssel zum Signieren einer Zertifikatanforderung verwendet wird. (Get) |
ISignerCertificate::get_UIContextMessage Gibt eine Zeichenfolge an, die text der Benutzeroberfläche enthält, die dem Signaturzertifikat zugeordnet ist, oder ruft sie ab. (Get) |
ISignerCertificate::Initialize Initialisiert das -Objekt aus einem Signaturzertifikat. |
ISignerCertificate::p ut_ParentWindow Gibt die ID des Fensters an, das zum Anzeigen von Signaturzertifikatinformationen verwendet wird, oder ruft sie ab. (Put) |
ISignerCertificate::p ut_Pin Gibt eine persönliche Identifikationsnummer (PIN) an, die zum Authentifizieren eines Smart Karte Benutzers verwendet wird. |
ISignerCertificate::p ut_Silent Gibt einen booleschen Wert an oder ruft diesen ab, der angibt, ob der Benutzer benachrichtigt wird, wenn der private Schlüssel zum Signieren einer Zertifikatanforderung verwendet wird. (Put) |
ISignerCertificate::p ut_UIContextMessage Gibt eine Zeichenfolge an, die text der Benutzeroberfläche enthält, die dem Signaturzertifikat zugeordnet ist, oder ruft sie ab. (Put) |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certenroll.h |