Freigeben über


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
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Das ISignerCertificate-Objekt wurde bereits initialisiert.

Hinweise

Die Initialize-Methode :

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

Weitere Informationen

ISignerCertificate