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 CspInformation-Eigenschaft ruft Anbieterinformationen ab.
- Die CspAlgorithm-Eigenschaft ruft Algorithmusinformationen ab.
- Die EnrollmentStatus-Eigenschaft ruft ein IX509EnrollmentStatus-Objekt ab. Rufen Sie die Selected-Eigenschaft für das status-Objekt auf, um zu bestimmen, ob das Anbieter-Algorithmus-Paar für diese Anforderung aktiviert ist.
- Die Ordinal-Eigenschaft ruft die Position in der Auflistung des Anbieter-Algorithmus-Paars ab.
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:
- InitializeDecode
- InitializeFromCertificate
- InitializeFromPrivateKey
- InitializeFromPublicKey
- InitializeFromTemplateName
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 |