IX509SignatureInformation::GetSignatureAlgorithm-Methode (certenroll.h)
Die GetSignatureAlgorithm-Methode ruft den Signaturalgorithmus-Objektbezeichner (OID) ab.
Syntax
HRESULT GetSignatureAlgorithm(
[in] VARIANT_BOOL Pkcs7Signature,
[in] VARIANT_BOOL SignatureKey,
[out] IObjectId **ppValue
);
Parameter
[in] Pkcs7Signature
Eine VARIANT_BOOL Variable, die angibt, ob der Algorithmus zum Signieren einer PKCS #7- oder CMC-Zertifikatanforderung verwendet wird.
[in] SignatureKey
Eine VARIANT_BOOL Variable, die angibt, ob ein Algorithmus, der nur zum Signieren verwendet wird, bevorzugt wird, wenn einer Algorithmus-OID mehr als einem Zweck zugeordnet ist. Beispielsweise kann XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) sowohl für das Signieren als auch für den Schlüsselaustausch verwendet werden.
[out] ppValue
Adresse einer Variablen, die einen Zeiger auf eine IObjectId-Schnittstelle empfängt, die die Algorithmus-OID darstellt.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.
Wenn die Funktion fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Hashalgorithmus-OID oder die NullSigned-Eigenschaft wurde nicht angegeben, aber die Signaturalgorithmus-OID kann nicht gefunden werden. |
|
Der kombinierte Signaturalgorithmus konnte nicht gefunden werden. |
Hinweise
Diese Methode sucht nach einem zwischengespeicherten Signaturalgorithmus, der mit den Eingabeparametern konsistent ist. Wenn keine gefunden wird, verwendet die Methode die Eingabeparameter plus die Werte, die verschiedenen IX509SignatureInformation-Eigenschaften zugewiesen sind, wie in der folgenden Liste angegeben.
-
Pkcs7Signature = true, NullSigned = true
Dieser Fall stellt eine MIT NULL signierte PKCS #7-Zertifikatanforderung dar. Die Methode gibt die XCN_OID_PKIX_NO_SIGNATURE (1.3.6.1.5.5.7.6.2) OID zurück.
-
Pkcs7Signature = true, NullSigned = false
In diesem Fall wird eine diskrete Signaturalgorithmus-OID für eine PKCS #7-Anforderung abgerufen, die nicht nullsigniert ist. Für die diskrete Signatur müssen die Eigenschaften HashAlgorithm und PublicKeyAlgorithm festgelegt werden. In dem Sonderfall, in dem der Algorithmus für öffentliche Schlüssel XCN_OID_X957_DSA und der Hashalgorithmus nicht XCN_OID_OIWSEC_sha1 ist, wird die abgerufene Signaturalgorithmus-OID XCN_OID_X957_SHA1DSA (1.2.840.10040.4.3).
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = true
In diesem Fall wird eine diskrete Signaturalgorithmus-OID für eine PKCS #10-Anforderung abgerufen und die Hashalgorithmus-OID in der Parameters-Eigenschaft codiert. Die Eigenschaften HashAlgorithm und PublicKeyAlgorithm müssen festgelegt werden.
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = false
In diesem Fall wird eine diskrete Signaturalgorithmus-OID für eine PKCS #7-Anforderung abgerufen. Die Eigenschaften HashAlgorithm und PublicKeyAlgorithm müssen festgelegt werden.
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 |