Share via


IX509CertificateRequestPkcs10::get_CspStatuses-Methode (certenroll.h)

Die CspStatuses-Eigenschaft ruft eine Auflistung von ICspStatus-Objekten ab, die der beabsichtigten Verwendung des privaten Schlüssels entspricht, der der Zertifikatanforderung zugeordnet ist.

Diese Eigenschaft ist schreibgeschützt.

Syntax

HRESULT get_CspStatuses(
  ICspStatuses **ppValue
);

Parameter

ppValue

Rückgabewert

Keine

Bemerkungen

Diese Eigenschaft ruft eine Auflistung von ICspStatus-Objekten ab. Jedes Objekt stellt ein einzelnes Anbieter-Algorithmus-Paar dar. Die CspStatuses-Eigenschaft unterscheidet sich von der GetCspStatuses-Methode . Mit der -Methode können Sie einen KeySpec-Parameter festlegen, aber CspStatuses verwendet die KeySpec-Eigenschaft , die auf den privaten Schlüssel festgelegt ist, der dem IX509CertificateRequestPkcs10-Objekt zugeordnet ist. Dies kann einer der folgenden Werte sein.

Wert BESCHREIBUNG
XCN_AT_NONE Es sind nur CNG-Anbieter (Cryptography API: Next Generation) ausgewählt.
XCN_AT_KEYEXCHANGE Es werden nur Kryptografiedienstanbieter (CryptoAPI Cryptographic Service Providers, CSPs) mit Verschlüsselungsalgorithmen (einschließlich Schlüsselaustausch) ausgewählt.
XCN_AT_SIGNATURE Es werden nur Kryptografiedienstanbieter (CryptoAPI Cryptographic Service Providers, CSPs) mit Signaturalgorithmen ausgewählt.
 

Wenn Sie beim Initialisieren des Anforderungsobjekts eine Vorlage angeben, beeinflussen Vorlagenattribute wie die pKIDefaultCSPs und pKIDefaultKeySpec , welche Anbieter-Algorithmus-Paare in der Auflistung anfänglich aktiviert sind. Sie können die folgenden Eigenschaften für jedes ICspStatus-Objekt aufrufen, um Informationen zu einem Paar abzurufen:

Die von dieser Methode abgerufene Auflistung wird intern im Anforderungsobjekt gespeichert. Die Auflistung ist vorhanden, solange das PKCS #10-Objekt weiterhin vorhanden ist.

Angenommen, die KeySpec-Eigenschaft für den privaten Schlüssel, der dem Anforderungsobjekt zugeordnet ist, ist auf XCN_AT_SIGNATURE festgelegt und zum Initialisieren der Anforderung wird eine Vorlage verwendet. Die folgenden Anweisungen sind wahr:

  • Eine Auflistung von ICspStatus-Objekten wird erstellt und im IX509CertificateRequestPkcs10-Objekt gespeichert. Die Auflistung enthält alle gültigen Anbieter-Algorithmus-Paare, die auf dem Computer installiert sind.
  • Da die KeySpec-Eigenschaft nicht auf XCN_AT_NONE festgelegt ist, wird die Selected-Eigenschaft für jedes CNG-Anbieter-/Algorithmuspaar (Cryptography API: Next Generation) in der Auflistung auf SelectedNo festgelegt.
  • Da die KeySpec-Eigenschaft nicht auf XCN_AT_KEYEXCHANGE festgelegt ist, wird die Selected-Eigenschaft für jedes CryptoAPI-CSP/Algorithmuspaar in der Sammlung auf SelectedNo festgelegt, wobei der Algorithmus nur zum Verschlüsseln von Daten oder zum Archivieren eines Schlüssels verwendet werden kann.
  • Für jeden Anbieter, auf den von der Vorlage oder dem privaten Schlüssel verwiesen wird, aber auf dem Computer nicht unterstützt wird, wird ein ICspStatus-Platzhalterobjekt erstellt und der Auflistung hinzugefügt, und die Selected-Eigenschaft ist auf SelectedNo festgelegt.
  • Die Selected-Eigenschaft wird für jedes CryptoAPI-CSP/Algorithmus-Paar auf SelectedYes festgelegt, bei dem der Algorithmus nur zum Signieren von Daten verwendet werden kann.
  • Die Ordinal-Eigenschaft wird so festgelegt, dass sie die CSP-Reihenfolge (sofern vorhanden) widerspiegelt, die durch das pKIDefaultCSPs-Vorlagenattribute identifiziert wird. Die csPs, die zuerst durch das -Attribut aufgelistet werden, werden zuerst in der Auflistung sortiert. Diese Eigenschaft wird während der Registrierung verwendet, wenn ein privater Schlüssel erstellt werden muss. Das erste ausgewählte CSP/Algorithmuspaar wird verwendet, um den Schlüssel zu erstellen. Wenn der Vorgang jedoch fehlschlägt, wird das nächste ausgewählte Paar versucht.

Sie müssen das IX509CertificateRequestPkcs10-Objekt initialisieren, bevor Sie diese Methode aufrufen. Weitere Informationen finden Sie unter einer der folgenden Methoden:

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
DLL CertEnroll.dll

Weitere Informationen

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

ICspStatus

IX509CertificateRequestPkcs10