IX509CertificateRequestPkcs10V2::InitializeFromTemplate-Methode (certenroll.h)
Die InitializeFromTemplate-Methode initialisiert die Zertifikatanforderung mithilfe einer Vorlage.
Syntax
HRESULT InitializeFromTemplate(
[in] X509CertificateEnrollmentContext context,
[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.
[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 |
---|---|
|
Die Parameter pPolicyServer oder pTemplate sind NULL. |
|
Das Zertifikatanforderungsobjekt wurde bereits initialisiert. |
Hinweise
Die InitializeFromTemplate-Methode erstellt die folgenden Auflistungen:
- Eine ICryptAttributes-Auflistung .
- Eine IX509Extensions-Auflistung .
- Eine IObjectIds-Auflistung , die mit den Standard-XCN_OID_KEY_USAGE und XCN_OID_BASIC_CONSTRAINTS2-Objektbezeichnern aufgefüllt wird.
- Eine leere IObjectIds-Auflistung für Attribut- und Erweiterungs-OIDs, die aus der neuen Anforderung unterdrückt werden sollen.
Die -Methode untersucht dann die Vorlage und führt die folgenden Aktionen aus:
- Fügt der IX509Extensions-Auflistung die von der Vorlage angegebenen Erweiterungen hinzu.
- Entfernt die standardmäßigen kritischen Erweiterungen (XCN_OID_KEY_USAGE und XCN_OID_BASIC_CONSTRAINTS2) aus der Auflistung, wenn die Vorlage angibt, dass sie nicht kritisch sind. 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.
- Erstellt eine OID für den asymmetrischen Verschlüsselungsalgorithmus, wenn der Algorithmus in der Vorlage angegeben ist, und legt ihn für das IX509SignatureInformation-Objekt fest.
- Füllt viele der IX509PrivateKey-Eigenschaften aus den Vorlageneinstellungen auf.
Wenn die CSPInformations-EigenschaftNULL ist, erstellt die -Methode eine ICspInformations-Auflistung von den auf dem Computer installierten Anbietern.
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 |