Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IX509CertificateRequestPkcs7-Schnittstelle stellt ein PKCS #7-CMS-Objekt (Certificate Message Syntax) dar. PKCS #7 definiert das Format von Nachrichten, die an eine Zertifizierungs- oder Registrierungsstelle gesendet werden, um ein Zertifikat mit öffentlichem Schlüssel anzufordern. Die IX509CertificateRequestPkcs7-Schnittstelle kann verwirrend sein, da ihre Implementierung nicht perfekt Spiegel die Art und Weise, wie die meisten Sicherheitsexperten über den PKCS #7-Standard denken. Um diese Verwirrung zu vermeiden, beachten Sie die folgenden Punkte:
- Obwohl eine PKCS #7-Nachricht zum Umschließen einer CMC-Anforderung verwendet wird, kann ein IX509CertificateRequestPkcs7-Objekt kein IX509CertificateRequestCmc-Objekt enthalten. Stattdessen erbt und implementiert die IX509CertificateRequestCmc-Schnittstelle die IX509CertificateRequestPkcs7-Schnittstelle . Wie implementiert, ist eine CMC-Anforderung daher ein PKCS #7 SignedData-Objekt , das CMC-Inhalt enthält, eine primäre Signatur, die entweder nullsigniert oder schlüsselbasiert ist, und null oder mehr zertifikatbasierte Signaturen. Im Gegensatz dazu ist eine PKCS #7-Anforderung ein SignedData-Objekt , das PKCS #10-Inhalt enthält (siehe das nächste Element in dieser Liste) und genau eine zertifikatbasierte Signatur aufweist.
- Ein IX509CertificateRequestPkcs7 muss ein IX509CertificateRequestPkcs10-Objekt enthalten. Der Standard Vorteil des Umschließens einer PKCS #10-Anforderung in eine PKCS #7-Nachricht ist die Möglichkeit, mehrere Signierer hinzuzufügen. Die PKCS #10-Anforderung wird vom zugeordneten privaten Schlüssel signiert, und die PKCS #7-Nachricht, die die PKCS #10-Anforderung umschließt, ist ebenfalls signiert. Dieser zweite Signierer verwendet das Zertifikat, das erneuert wird (für eine Verlängerungsanforderung) oder das Registrierungs-Agent-Zertifikat (für eine Registrierungs-im-Auftrag-von-Anforderung).
- Sie können eine eigenständige IX509CertificateRequestPkcs10-Zertifikatanforderung erstellen und registrieren, ohne sie in ein IX509CertificateRequestPkcs7-Objekt umschließen zu müssen.
Die ASN.1-Darstellung eines PKCS #7-Objekts im folgenden Syntaxbeispiel zeigt, dass es aus einer Vielzahl von Datentypen bestehen kann.
PKCS7ContentTable PKCS7-CONTENT-TYPE ::=
{
data | signed-data | enveloped-data | signed-and-enveloped-data |
digested-data | encrypted-data | authenticated-data, ...
}
Von diesen ist das unten gezeigte SignedData-Objekt am relevantesten. Das SignerInfo-Objekt , auf das im SignedData-Objekt verwiesen wird, enthält die Signaturinformationen. Eine ausführlichere Diskussion finden Sie unter PKCS #7 Attribute.
-------------------------------------------------------------------
-- signed-data
-------------------------------------------------------------------
SignedData ::= SEQUENCE
{
version INTEGER,
digestAlgorithms DigestAlgorithmIdentifiers,
contentInfo ContentInfo,
certificates [0] IMPLICIT Certificates OPTIONAL,
crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
signerInfos SignerInfos
}
SignerInfo ::= SEQUENCE
{
version INTEGER,
sid CertIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature SignatureValue,
unauthenticatedAttributes [1] IMPLICIT Attributes
}
Vererbung
Die IX509CertificateRequestPkcs7-Schnittstelle erbt von IX509CertificateRequest. IX509CertificateRequestPkcs7 verfügt auch über folgende Membertypen:
Methoden
Die IX509CertificateRequestPkcs7-Schnittstelle verfügt über diese Methoden.
|
IX509CertificateRequestPkcs7::get_RequesterName Gibt eine Zeichenfolge an, die den SAM-Namen (Security Account Manager) der Endentität enthält, die das Zertifikat anfordert, oder ruft sie ab. (Abrufen) |
|
IX509CertificateRequestPkcs7::get_SignerCertificate Gibt ein Zertifikat an, das zum Signieren der Zertifikatanforderung verwendet wird, oder ruft es ab. (Abrufen) |
|
IX509CertificateRequestPkcs7::InitializeDecode Decodiert eine vorhandene signierte oder nicht signierte PKCS (IX509CertificateRequestPkcs7.InitializeDecode) |
|
IX509CertificateRequestPkcs7::InitializeFromCertificate Initialisiert die Zertifikatanforderung mithilfe eines vorhandenen Zertifikats. (IX509CertificateRequestPkcs7.InitializeFromCertificate) |
|
IX509CertificateRequestPkcs7::InitializeFromInnerRequest Initialisiert die Zertifikatanforderung aus dem inneren PKCS. |
|
IX509CertificateRequestPkcs7::InitializeFromTemplateName Initialisiert die Zertifikatanforderung mithilfe einer Vorlage. (IX509CertificateRequestPkcs7.InitializeFromTemplateName) |
|
IX509CertificateRequestPkcs7::p ut_RequesterName Gibt eine Zeichenfolge an, die den SAM-Namen (Security Account Manager) der Endentität enthält, die das Zertifikat anfordert, oder ruft sie ab. (Put) |
|
IX509CertificateRequestPkcs7::p ut_SignerCertificate Gibt ein Zertifikat an, das zum Signieren der Zertifikatanforderung verwendet wird, oder ruft es 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 |