IX509CertificateRequestPkcs10::InitializeFromPrivateKey-Methode (certenroll.h)
Die InitializeFromPrivateKey-Methode initialisiert die Zertifikatanforderung mithilfe eines IX509PrivateKey-Objekts und optional einer Vorlage. Diese Methode ist webfähig.
Syntax
HRESULT InitializeFromPrivateKey(
[in] X509CertificateEnrollmentContext Context,
[in] IX509PrivateKey *pPrivateKey,
[in, optional] BSTR strTemplateName
);
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 Auftrag 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.
[in] pPrivateKey
Zeiger auf eine IX509PrivateKey-Schnittstelle , die den privaten Schlüssel darstellt.
[in, optional] strTemplateName
Eine BSTR-Variable , die den allgemeinen Namen (Common Name, CN) der Vorlage enthält, wie er in Active Directory angezeigt wird, oder den dezimalen Objektbezeichner mit Punkt. Dies ist ein optionaler Parameter.
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 | Beschreibung |
---|---|
|
Das Zertifikatanforderungsobjekt wurde bereits initialisiert. |
Hinweise
Wenn Sie eine Vorlage angeben, führt die InitializeFromPrivateKey-Methode die folgenden Aktionen aus:
- Fügt die von der Vorlage angegebenen Erweiterungen einer IX509Extensions-Auflistung hinzu.
- Erstellt eine IObjectIds-Auflistung und füllt sie mit den Standard-XCN_OID_KEY_USAGE und XCN_OID_BASIC_CONSTRAINTS2-Objektbezeichnern auf. Wenn die Vorlage angibt, dass diese OIDs nicht kritisch sind, werden sie aus der Auflistung entfernt. Die von der Vorlage als kritisch gekennzeichneten OIDs werden hinzugefügt.
- Legt die SmimeCapabilities-Eigenschaft fest, wenn die Vorlage symmetrische Algorithmen unterstützt.
- Legt die AlternateSignatureAlgorithm-Eigenschaft fest , wenn die Vorlage eine diskrete Signaturalgorithmus-OID erfordert.
- Erstellt ein IX509SignatureInformation-Objekt .
- Erstellt eine Hashalgorithmus-OID, wenn der Algorithmus in der Vorlage angegeben ist, und legt ihn für das IX509SignatureInformation-Objekt fest.
- Ruft eine asymmetrische Verschlüsselungsalgorithmus-OID (sofern vorhanden) aus der Vorlage ab und legt sie für das IX509SignatureInformation-Objekt fest.
- Füllt viele der IX509PrivateKey-Eigenschaften aus den Vorlageneinstellungen auf.
Unabhängig davon, ob Sie eine Vorlage angeben oder nicht: Wenn die CSPInformations-Eigenschaft nicht angegeben ist, erstellt die Methode eine ICspInformations-Auflistung von den auf dem Computer installierten Anbietern.
An dieser Stelle 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 den 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 Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certenroll.h |
DLL | CertEnroll.dll |