Attributfunktionen

Attribute können einer Zertifikatanforderung hinzugefügt werden, um eine Zertifizierungsstelle (Zertifizierungsstelle) mit zusätzlichen Informationen bereitzustellen, die beim Erstellen und Bereitstellen eines Zertifikats verwendet werden können.

CertEnroll.dll implementiert die folgenden Schnittstellen zum Definieren von Attributen und Attributsammlungen:

In den folgenden Abschnitten werden Funktionen identifiziert, die von Xenroll.dll exportiert werden, um kryptografische Attribute mit Zertifikatanforderungen zu verknüpfen und zu diskutieren, wie CertEnroll.dll verwendet werden, um die Funktion zu ersetzen oder anzugeben, dass keine Zuordnung zwischen den beiden Bibliotheken vorhanden ist:

addAttributeToRequestWStr

Die AddAttributeToRequestWStr-Funktion in Xenroll.dll fügt einem Zertifikatanforderung ein Attribut hinzu.

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

  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 eine der zuvor aufgeführten Schnittstellen zu verwenden, um eine der häufigsten Attribute zu definieren.
  3. Fügen Sie jedes neue Attribut hinzu, das im vorherigen Schritt zur IX509Attributes-Auflistung erstellt wurde, indem Sie die Add-Methode verwenden.
  4. Erstellen Sie ein ICryptAttribute-Objekt und initialisieren Sie sie, indem Sie die InitializeFromValues-Methode aufrufen und die IX509Attributes-Auflistung auf Eingabe angeben.
  5. Rufen Sie ein ICryptAttributes-Auflistungsobjekt ab, indem Sie die CryptAttributes-Eigenschaft auf einem vorhandenen IX509CertificateRequestPkcs10- oder IX509CertificateRequestCmc-Anforderungsobjekt aufrufen.
  6. Fügen Sie das ICryptAttribute-Objekt zur ICryptAttributes-Auflistung hinzu.

AddAuthenticatedAttributesToPKCS7Request

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

Wie oben für die AddAttributeToRequestWStr-Funktion beschrieben, können Sie CertEnroll.dll verwenden, um eine Sammlung von Attributen zu einer Zertifikatanforderung einfach zu definieren und hinzuzufügen. Sie können jedoch nicht auswählen, ob das Attribut authentifiziert ist. Der Registrierungsvorgang macht 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 Namenswertpaar zu definieren, und Sie können eine Auflistung von Namenswertpaaren zu einem CMC-Anforderungsobjekt hinzufügen, indem Sie die folgenden Aktionen ausführen:

  1. Erstellen und Initialisieren eines IX509CertificateRequestCmc-Objekts . Der Initialisierungsprozess erstellt eine leere IX509NameValuePairs-Auflistung .
  2. Rufen Sie die NameValuePairs-Eigenschaft auf einem vorhandenen CMC-Anforderungsobjekt auf, um die Auflistung abzurufen.
  3. Erstellen und Initialisieren eines IX509NameValuePair-Objekts .
  4. Fügen Sie jedes neue Name-Wert-Paar zur IX509NameValuePairs-Auflistung hinzu, indem Sie die Add-Methode aufrufen.

Der Registrierungsvorgang platziert die Auflistung von Namenswertpaaren in der TaggedAttribute-Struktur der CMC-Anforderung.

AddNameValuePairToSignatureWStr

Die Funktion "AddNameValuePairToSignatureWStr " in Xenroll.dll fügt einem Anforderungspaar einen authentifizierten Namenwert hinzu. Dies wird in der Regel verwendet, um den Anforderungsnamen in einer Registrierung-on-auftrag-of-EOBO-Anforderung 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 diese ab.

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

RenewalCertificate

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

In CertEnroll.dll wird beim Aufrufen von InitializeFromCertificate auf einem PKCS #7- oder PKCS -Objekt automatisch erstellt.

resetAttributes

Die ResetAttributes-Funktion in Xenroll.dll entfernt die Attributsammlung aus einer Anforderung.

Um ein Attribut aus einer Anforderung mithilfe von CertEnroll.dll zu entfernen, rufen Sie die Remove-Methode in der IX509Attributes-Auflistung auf. Um alle Attribute aus einer Anforderung zu entfernen, rufen Sie die Clear-Methode auf.

Zuordnung Xenroll.dll zu CertEnroll.dll

ICryptAttribute

ICryptAttributes

IX509Attribute

IX509Attributes

IX509NameValuePair

IX509NameValuePairs