Share via


Externe Eigenschaftenfunktionen

Eigenschaften werden verwendet, um einem Zertifikat einen Wert zuzuordnen. Eigenschaften werden niemals an eine Zertifizierungsstelle gesendet oder von dieser verarbeitet, und sie werden nicht in einem Zertifikat gespeichert. In der Regel werden sie einem Zertifikat zugeordnet, nachdem das Zertifikat von der Zertifizierungsstelle empfangen wurde und bevor es in einem Speicher gespeichert wird. Die Eigenschaften werden zusammen mit dem Zertifikat im Speicher gespeichert. CertEnroll.dll implementiert die ICertProperty-Schnittstelle und die folgenden Schnittstellen, die von ICertProperty abgeleitet sind:

Jeder der folgenden Abschnitte identifiziert eine Funktion, die von Xenroll.dll exportiert wird, um externe Zertifikateigenschaften zu verwalten. In jedem Abschnitt wird auch erläutert, wie CertEnroll.dll verwendet wird, um die Funktion zu ersetzen, oder gibt an, dass keine Zuordnung zwischen den beiden Bibliotheken vorhanden ist:

addBlobPropertyToCertificateWStr

Die AddBlobPropertyToCertificateWStr-Funktion in Xenroll.dll fügt dem Zertifikat eine -Eigenschaft hinzu.

In CertEnroll.dll implementieren alle von ICertProperty abgeleiteten Objekte eine SetValueOnCertificate-Methode , mit der Sie eine Eigenschaft einem Zertifikat zuordnen können. Außerdem implementiert das IX509Enrollment-Objekt direkt die Eigenschaften CertificateFriendlyName und CertificateDescription .

GetPrivateKeyArchiveCertificate

Die GetPrivateKeyArchiveCertificate-Funktion in Xenroll.dll ruft das Exchange-Zertifikat ab, das zum Archivieren eines privaten Schlüssels verwendet wird.

Sie können das IX509CertificateRequestCmc-Objekt in CertEnroll.dll verwenden, um eine Anforderung für eine Zertifizierungsstelle zum Archivieren Ihres privaten Schlüssels zu erstellen. Sie müssen ein Exchange-Zertifikat von der Zertifizierungsstelle abrufen und den in diesem Zertifikat enthaltenen öffentlichen Schlüssel verwenden, um den privaten Schlüssel zu verschlüsseln, den Sie zur Archivierung übermitteln. Um ein Zertifizierungsstellen-Austauschzertifikat anzugeben oder abzurufen, rufen Sie die KeyArchivalCertificate-Eigenschaft für dieses Objekt auf.

resetBlobProperties

Die resetBlobProperties-Funktion in Xenroll.dll entfernt die Eigenschaftsauflistung aus dem Zertifikat.

In CertEnroll.dll implementieren alle von ICertProperty abgeleiteten Eigenschaftsobjekte die RemoveFromCertificate-Eigenschaft , mit der Sie die Zuordnung einer Eigenschaft zu einem Zertifikat aufheben können.

SetPrivateKeyArchiveCertificate

Die SetPrivateKeyArchiveCertificate-Funktion in Xenroll.dll gibt ein Exchange-Zertifikat an, das zum Archivieren eines privaten Schlüssels verwendet wird.

Sie können das IX509CertificateRequestCmc-Objekt in CertEnroll.dll verwenden, um eine Anforderung für eine Zertifizierungsstelle zum Archivieren Ihres privaten Schlüssels zu erstellen. Sie müssen ein Exchange-Zertifikat von der Zertifizierungsstelle abrufen und den in diesem Zertifikat enthaltenen öffentlichen Schlüssel verwenden, um den privaten Schlüssel zu verschlüsseln, den Sie zur Archivierung übermitteln. Um ein Zertifizierungsstellen-Austauschzertifikat anzugeben oder abzurufen, rufen Sie die KeyArchivalCertificate-Eigenschaft für dieses Objekt auf.

SetSignerCertificate

Die SetSignerCertificate-Funktion in Xenroll.dll Gibt ein Signiererzertifikat an.

Das ISignerCertificate-Objekt in CertEnroll.dll kann verwendet werden, um eine PKCS #7-, CMC- oder selbstsignierte Zertifikatanforderung zu signieren. Sie können das Objekt mithilfe eines vorhandenen Signaturzertifikats initialisieren und es einer Anforderung zuordnen, indem Sie eine der folgenden Eigenschaften aufrufen:

Wenn Sie eine CMC-Anforderung aus einer inneren Anforderung und einer Vorlage initialisieren oder eine PKCS #7-Anforderung aus einer vorhandenen Anforderung initialisieren, kann das Signaturzertifikat festgelegt werden.

ThumbPrintWStr

Die ThumbPrintWStr-Funktion in Xenroll.dll gibt den Wert des Zertifikathashs an oder ruft diesen ab.

In CertEnroll.dll können Sie das ICertPropertySHA1Hash-Objekt verwenden, um einen Hashwert (Fingerabdruck) abzurufen, der durch Aufrufen der InitializeFromCertificate-Methode erstellt wird.

Zuordnen von Xenroll.dll zu CertEnroll.dll