Attributfunktionen

Attribute können einer Zertifikatanforderung hinzugefügt werden, um einer Zertifizierungsstelle zusätzliche Informationen bereitzustellen, die sie beim Erstellen und Ausstellen eines Zertifikats verwenden kann.

CertEnroll.dll implementiert die folgenden Schnittstellen, um Attribute und Attributsammlungen zu definieren:

In den folgenden Abschnitten werden von Xenroll.dll exportierte Funktionen identifiziert, um Zertifikatanforderungen kryptografische Attribute zuzuordnen. Außerdem wird erläutert, wie sie CertEnroll.dll verwenden, um die Funktion zu ersetzen, oder sie zeigen an, dass keine Zuordnung zwischen den beiden Bibliotheken vorhanden ist:

addAttributeToRequestWStr

Die addAttributeToRequestWStr-Funktion in Xenroll.dll fügt einer Zertifikatanforderung ein Attribut hinzu.

Um einer Anforderung mithilfe der in CertEnroll.dll implementierten Objekte ein Attribut hinzuzufügen, können Sie im Allgemeinen die folgenden Aktionen ausführen:

  1. Erstellen Sie ein IX509Attributes-Auflistungsobjekt.
  2. Erstellen Sie ein IX509Attribute-Objekt, und rufen Sie die Initialize-Methode auf, um ein Attribut aus einem Objektbezeichner und Attributwert zu erstellen, oder verwenden Sie eine der zuvor aufgeführten Schnittstellen, um eines der allgemeineren Attribute zu definieren.
  3. Fügen Sie jedes im vorherigen Schritt erstellte neue Attribut mithilfe der Add-Methode der IX509Attributes-Auflistung hinzu.
  4. Erstellen Sie ein ICryptAttribute-Objekt, und initialisieren Sie es, indem Sie die InitializeFromValues-Methode aufrufen und die IX509Attributes-Auflistung bei der Eingabe angeben.
  5. Rufen Sie ein ICryptAttributes-Auflistungsobjekt ab, indem Sie die CryptAttributes-Eigenschaft für ein vorhandenes IX509CertificateRequestPkcs10- oder IX509CertificateRequestCmc-Anforderungsobjekt aufrufen.
  6. Fügen Sie das ICryptAttribute-Objekt der ICryptAttributes-Auflistung hinzu.

AddAuthenticatedAttributesToPKCS7Request

Authentifizierte Attribute sind Name-Wert-Paare, die von signiert und einer Signatur hinzugefügt werden. Die AddAuthenticatedAttributesToPKCS7Request-Funktion in Xenroll.dll fügt einer PKCS # 7-Anforderung ein Array authentifizierter Attribute hinzu.

Wie oben für die addAttributeToRequestWStr-Funktion erläutert, können Sie CertEnroll.dll verwenden, um eine Sammlung von Attributen einfach zu definieren und einer Zertifikatanforderung hinzuzufügen. Sie können jedoch nicht auswählen, ob das Attribut authentifiziert ist. Der Registrierungsprozess trifft diese Entscheidung automatisch.

addNameValuePairToRequestWStr

Die addNameValuePairToRequestWStr-Funktion in Xenroll.dll fügt einer Anforderung ein nicht authentifiziertes Name-Wert-Paar hinzu.

Sie können die IX509NameValuePair-Schnittstelle in CertEnroll.dll verwenden, um ein Name-Wert-Paar zu definieren, und Sie können einem CMC-Anforderungsobjekt eine Auflistung von Name-Wert-Paaren hinzufügen, indem Sie die folgenden Aktionen ausführen:

  1. Erstellen und initialisieren Sie ein IX509CertificateRequestCmc-Objekt. Beim Initialisierungsprozess wird eine leere IX509NameValuePairs-Auflistung erstellt.
  2. Rufen Sie die NameValuePairs-Eigenschaft für ein vorhandenes CMC-Anforderungsobjekt auf, um die Auflistung abzurufen.
  3. Erstellen und initialisieren Sie ein IX509NameValuePair-Objekt.
  4. Fügen Sie jedes neue Name-Wert-Paar der IX509NameValuePairs-Auflistung hinzu, indem Sie die Add-Methode aufrufen.

Der Registrierungsprozess platziert die Auflistung von Name-Wert-Paaren in der TaggedAttribute-Struktur der CMC-Anforderung.

AddNameValuePairToSignatureWStr

Die Funktion AddNameValuePairToSignatureWStr in Xenroll.dll fügt einer Anforderung ein authentifiziertes Name-Wert-Paar hinzu. Dies wird in der Regel verwendet, um den Anforderernamen in einer EOBO-Anforderung (Enroll-on-behalf-of) anzugeben.

Verwenden Sie in CertEnroll.dll die RequesterName-Eigenschaft, um den Namen in einer EOBO-Anforderung anzugeben.

ClientId

Die ClientId-Funktion in Xenroll.dll gibt ein ClientId-Attribut an oder ruft es ab.

Verwenden Sie die ClientId-Eigenschaft in CertEnroll.dll, um dieses Attribut einer CMC- oder PKCS # 10-Anforderung hinzuzufügen.

RenewalCertificate

Die RenewalCertificate-Funktion in Xenroll.dll gibt ein RenewalCertificate-Attribut an oder ruft es ab.

In CertEnroll.dll wird beim Aufrufen von InitializeFromCertificate für ein PKCS # 7- oder PKCS -Objekt automatisch erstellt.

resetAttributes

Die resetAttributes-Funktion in Xenroll.dll entfernt die Attributauflistung aus einer Anforderung.

Um ein Attribut mithilfe von CertEnroll.dll aus einer Anforderung nach Index zu entfernen, rufen Sie die Remove-Methode für die IX509Attributes-Auflistung auf. Um alle Attribute aus einer Anforderung zu entfernen, rufen Sie die Clear-Methode auf.

Zuordnen von Xenroll.dll zu CertEnroll.dll

ICryptAttribute

ICryptAttributes

IX509Attribute

IX509Attributes

IX509NameValuePair

IX509NameValuePairs