Freigeben über


Funktionen des Kryptografiedienstanbieters

Jeder der folgenden Abschnitte identifiziert eine Funktion, die von Xenroll.dll exportiert wird und zum Verwalten eines Kryptografieanbieters verwendet werden kann. In jedem Thema wird auch erläutert, wie sie CertEnroll.dll verwenden, um die Funktion zu ersetzen, oder gibt an, dass keine Zuordnung zwischen den beiden Bibliotheken vorhanden ist:

EnumAlgs

Die EnumAlgs-Funktion in Xenroll.dll ruft eine Sammlung kryptografischer Algorithmus ab.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um Informationen zu den Algorithmen abzurufen, die von einem Kryptografiedienstanbieter (CSP ) unterstützt werden:

  1. Rufen Sie die Request-Eigenschaft für ein vorhandenes IX509Enrollment-Objekt auf .
  2. Rufen Sie die GetInnerRequest-Methode für die aus Schritt 1 zurückgegebene Anforderung auf, um die innerste Anforderung abzurufen.
  3. Rufen Sie QueryInterface für das IX509CertificateRequest-Objekt auf, das aus Schritt 2 zurückgegeben wurde, um es in ein IX509CertificateRequestPkcs10-Objekt zu umwandeln.
  4. Rufen Sie die PrivateKey-Eigenschaft für die PKCS #10-Anforderung auf.
  5. Rufen Sie die CspInformations-Eigenschaft für das IX509PrivateKey-Objekt auf, das aus Schritt 4 abgerufen wurde.
  6. Rufen Sie die CspAlgorithms-Eigenschaft für ein bestimmtesICspInformation-Objekt in der ICspInformations-Auflistung auf, die in Schritt 5 abgerufen wurde.

enumContainersWStr

Die Funktion enumContainersWStr in Xenroll.dll ruft einen Schlüsselcontainer aus der Auflistung nach Index ab.

Die CertEnroll.dll-Bibliothek implementiert diese Funktionalität nicht direkt.

enumProviderSWStr

Die Funktion enumProvidersWStr in Xenroll.dll ruft einen CSP nach Index aus der Auflistung ab.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um die Sammlung von kryptografischen Containern abzurufen:

  1. Rufen Sie die Request-Eigenschaft für ein vorhandenes IX509Enrollment-Objekt auf .
  2. Rufen Sie die GetInnerRequest-Methode für die aus Schritt 1 zurückgegebene Anforderung auf, um die innerste Anforderung abzurufen.
  3. Rufen Sie QueryInterface für das IX509CertificateRequest-Objekt auf, das aus Schritt 2 zurückgegeben wurde, um es in ein IX509CertificateRequestPkcs10-Objekt zu umwandeln.
  4. Rufen Sie die PrivateKey-Eigenschaft für die PKCS #10-Anforderung auf.
  5. Rufen Sie die CspInformations-Eigenschaft für das IX509PrivateKey-Objekt auf, das aus Schritt 4 abgerufen wurde.

GetAlgNameWStr

Die GetAlgNameWStr-Funktion in Xenroll.dll ruft den Namen eines kryptografischen Algorithmus ab.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um den Algorithmusnamen abzurufen:

  1. Rufen Sie die Request-Eigenschaft für ein vorhandenes IX509Enrollment-Objekt auf .
  2. Rufen Sie die GetInnerRequest-Methode für die aus Schritt 1 zurückgegebene Anforderung auf, um die innerste Anforderung abzurufen.
  3. Rufen Sie QueryInterface für das IX509CertificateRequest-Objekt auf, das aus Schritt 2 zurückgegeben wurde, um es in ein IX509CertificateRequestPkcs10-Objekt zu umwandeln.
  4. Rufen Sie die PrivateKey-Eigenschaft für die PKCS #10-Anforderung auf.
  5. Rufen Sie die Algorithm-Eigenschaft für das IX509PrivateKey-Objekt auf, um den Algorithmusobjektbezeichner abzurufen.
  6. Rufen Sie die FriendlyName-Eigenschaft auf der IObjectId-Schnittstelle auf, um den Anzeigenamen des Algorithmus abzurufen.

getProviderTypeWStr

Die getProviderTypeWStr-Funktion in Xenroll.dll ruft den Kryptografieanbietertyp ab.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um den Anbietertyp abzurufen:

  1. Rufen Sie die Request-Eigenschaft für ein vorhandenes IX509Enrollment-Objekt auf .
  2. Rufen Sie die GetInnerRequest-Methode für die aus Schritt 1 zurückgegebene Anforderung auf, um die innerste Anforderung abzurufen.
  3. Rufen Sie QueryInterface für das IX509CertificateRequest-Objekt auf, das aus Schritt 2 zurückgegeben wurde, um es in ein IX509CertificateRequestPkcs10-Objekt zu umwandeln.
  4. Rufen Sie die PrivateKey-Eigenschaft für die PKCS #10-Anforderung auf.
  5. Rufen Sie die ProviderType-Eigenschaft für das IX509PrivateKey-Objekt auf, das aus Schritt 4 abgerufen wurde.

HashAlgID

Die HashAlgID-Funktion in Xenroll.dll ruft einen ganzzahligen Wert ab, der die ID des Algorithmus enthält, der zum Signieren einer Anforderung verwendet wird.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um den Hashalgorithmus abzurufen:

HashAlgorithmWStr

Die HashAlgorithmWStr-Funktion in Xenroll.dll gibt einen Zeichenfolgenwert an oder ruft diesen ab, der den Hashingalgorithmus identifiziert, der zum Signieren einer Anforderung verwendet wird.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um den Hashalgorithmus abzurufen:

ProviderFlags

Die ProviderFlags-Funktion in Xenroll.dll gibt die Flags an oder ruft sie ab, die beim Abrufen eines Handles für einen CSP verwendet werden.

Die CertEnroll.dll-Bibliothek zuordnen diese Funktion nicht perfekt, aber Sie können umfangreiche Eigenschafteninformationen aus dem Registrierungsobjekt und dem privaten Schlüssel abrufen. Weitere Informationen findest du unter den Eigenschaften, die von den Schnittstellen IX509Enrollment und IX509PrivateKey verfügbar gemacht werden.

ProviderNameWStr

Die ProviderNameWStr-Funktion in Xenroll.dll gibt den Namen eines CSP an oder ruft diese ab.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um den Anbieternamen abzurufen:

  1. Rufen Sie die Request-Eigenschaft für ein vorhandenes IX509Enrollment-Objekt auf .
  2. Rufen Sie die GetInnerRequest-Methode für die aus Schritt 1 zurückgegebene Anforderung auf, um die innerste Anforderung abzurufen.
  3. Rufen Sie QueryInterface für das IX509CertificateRequest-Objekt auf, das aus Schritt 2 zurückgegeben wurde, um es in ein IX509CertificateRequestPkcs10-Objekt zu umwandeln.
  4. Rufen Sie die PrivateKey-Eigenschaft für die PKCS #10-Anforderung auf.
  5. Rufen Sie die ProviderName-Eigenschaft für das IX509PrivateKey-Objekt auf, das aus Schritt 4 abgerufen wurde.

ProviderType

Die ProviderType-Funktion in Xenroll.dll gibt einen ganzzahligen Wert an oder ruft diesen ab, der den Typ des CSP identifiziert.

Wenn Sie CertEnroll.dll verwenden, können Sie die folgenden Aktionen ausführen, um den Anbietertyp abzurufen:

  1. Rufen Sie die Request-Eigenschaft für ein vorhandenes IX509Enrollment-Objekt auf .
  2. Rufen Sie die GetInnerRequest-Methode für die aus Schritt 1 zurückgegebene Anforderung auf, um die innerste Anforderung abzurufen.
  3. Rufen Sie QueryInterface für das IX509CertificateRequest-Objekt auf, das aus Schritt 2 zurückgegeben wurde, um es in ein IX509CertificateRequestPkcs10-Objekt zu umwandeln.
  4. Rufen Sie die PrivateKey-Eigenschaft für die PKCS #10-Anforderung auf.
  5. Rufen Sie die ProviderType-Eigenschaft für das IX509PrivateKey-Objekt auf, das aus Schritt 4 abgerufen wurde.

Zuordnen Xenroll.dll zu CertEnroll.dll

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

IX509Registrierung

IX509PrivateKey