ISignerCertificate::Initialize-Methode (certenroll.h)
Die Initialize-Methode initialisiert das -Objekt aus einem Signaturzertifikat.
Syntax
HRESULT Initialize(
[in] VARIANT_BOOL MachineContext,
[in] X509PrivateKeyVerify VerifyType,
[in] EncodingType Encoding,
[in] BSTR strCertificate
);
Parameter
[in] MachineContext
Eine VARIANT_BOOL Variable, die angibt, ob der Zertifikatspeicherkontext des lokalen Computers oder der Benutzerkontext nach dem durch den strCertificate-Parameter identifizierten Zertifikat gesucht werden soll. Geben Sie VARIANT_TRUE für den Computer und VARIANT_FALSE für den Benutzer an.
[in] VerifyType
Ein X509PrivateKeyVerify-Enumerationswert , der angibt, ob der private Schlüssel, der zum Signieren des Zertifikats verwendet wird, überprüft werden muss, und wenn ja, ob die Überprüfung im Hintergrund erfolgen muss oder Benutzereingaben zulässt.
[in] Encoding
Ein EncodingType-Enumerationswert, der den Typ der Unicode-Codierung angibt, die auf die Distinguished Encoding Rules(DER)-codierte Zertifikatzeichenfolge angewendet wird.
[in] strCertificate
Eine BSTR-Variable , die das DER-codierte Zertifikat enthält.
Ab Windows 7 und Windows Server 2008 R2 können Sie anstelle eines codierten Zertifikats einen Zertifikatfingerabdruck oder eine Seriennummer angeben. Dies bewirkt, dass die Funktion die entsprechenden lokalen Speicher nach dem übereinstimmenden Zertifikat durchsucht. Berücksichtigen Sie dabei Folgendes:
- Der BSTR muss eine gerade Anzahl von Hexadezimalstellen sein.
- Leerzeichen zwischen hexadezimalen Paaren werden ignoriert.
- Der Encoding-Parameter muss auf XCN_CRYPT_STRING_HEXRAW festgelegt werden.
- Der MachineContext-Parameter bestimmt, ob der Benutzer oder der Computer speichert oder beides durchsucht wird.
- Wenn ein privater Schlüssel benötigt wird, werden nur die persönlichen Speicher und die Anforderungsspeicher durchsucht.
- Wenn kein privater Schlüssel benötigt wird, werden auch die Stamm- und Zwischenspeicher der Zertifizierungsstelle durchsucht.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.
Wenn die Funktion fehlschlägt, wird ein HRESULT-Wert zurückgegeben, 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 |
---|---|
|
Das ISignerCertificate-Objekt wurde bereits initialisiert. |
Hinweise
Die Initialize-Methode :
- Überprüft, ob der dem Zertifikat zugeordnete private Schlüssel vorhanden ist.
- Erstellt ein IX509SignatureInformation-Objekt und weist es dem ISignerCertificate-Objekt zu.
- Ruft den Algorithmus für öffentliche Schlüssel aus dem privaten Schlüssel ab.
- Weist den Public Key-Algorithmus dem IX509SignatureInformation-Objekt zu.
Legen Sie die folgenden Eigenschaften fest, bevor Sie Initialize aufrufen:
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 |