Freigeben über


IX509CertificateRequestCertificate2::InitializeFromPrivateKeyTemplate-Methode (certenroll.h)

Die InitializeFromPrivateKeyTemplate-Methode initialisiert die Zertifikatanforderung mithilfe eines IX509PrivateKey-Objekts und einer Zertifikatvorlage.

Syntax

HRESULT InitializeFromPrivateKeyTemplate(
  [in] X509CertificateEnrollmentContext Context,
  [in] IX509PrivateKey                  *pPrivateKey,
  [in] IX509EnrollmentPolicyServer      *pPolicyServer,
  [in] IX509CertificateTemplate         *pTemplate
);

Parameter

[in] Context

Ein X509CertificateEnrollmentContext-Enumerationswert , der angibt, ob das angeforderte Zertifikat für einen Endbenutzer, einen Computer oder einen Administrator bestimmt ist, der im Namen des Computers handelt. Dies kann einer der folgenden Werte sein. Wenn jedoch die MachineContext-Eigenschaft des privaten Schlüssels festgelegt ist, müssen Sie den ContextMachine-Enumerationswert angeben.

Wert Bedeutung
ContextUser
Das Zertifikat wird für einen Endbenutzer angefordert.
ContextMachine
Das Zertifikat wird für einen Computer angefordert.
ContextAdministratorForceMachine
Das Zertifikat wird von einem Administrator angefordert, der im Namen eines Computers handelt.

[in] pPrivateKey

Zeiger auf eine IX509PrivateKey-Schnittstelle , die den privaten Schlüssel darstellt.

[in] pPolicyServer

Zeiger auf ein IX509EnrollmentPolicyServer-Objekt , das den Zertifikatregistrierungsrichtlinienserver (Certificate Enrollment Policy, CEP) darstellt, der die vom pTemplate-Parameter angegebene Vorlage enthält.

[in] pTemplate

Zeiger auf ein IX509CertificateTemplate-Objekt , das die Vorlage darstellt, die während der Initialisierung verwendet werden soll.

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 Beschreibung
E_POINTER
Die Parameter pPrivateKey, pPolicyServer oder pTemplate sind NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Das Zertifikatanforderungsobjekt wurde bereits initialisiert.

Hinweise

Die InitializeFromPrivateKeyTemplate-Methode führt die folgenden Aktionen aus:

Wenn die CSPInformations-Eigenschaft nicht angegeben wird, erstellt die -Methode eine ICspInformations-Auflistung von den auf dem Computer installierten Anbietern.

An diesem Punkt wird kein privater Schlüssel erstellt. Wenn das an die Methode übergebene IX509PrivateKey-Objekt keinen vorhandenen Schlüssel darstellt, wird beim Aufrufen der Encode-Methode ein Schlüssel erstellt. Der Schlüssel wird mithilfe des Standardanbieters erstellt, wenn keine Vorlage angegeben wurde und die ProviderName-Eigenschaft für ix509PrivateKey nicht festgelegt ist. Wenn ein privater Schlüssel vorhanden ist, wird er für die PrivateKey-Eigenschaft festgelegt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certenroll.h

Weitere Informationen

IX509CertificateRequestCertificate2