IX509CertificateRequestCmc2::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 Wert des X509CertificateEnrollmentContext-Enumerationstyps , 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.
[in] pPolicyServer
Zeiger auf ein IX509EnrollmentPolicyServer-Objekt , das den CEP-Server (Certificate Enrollment Policy) darstellt, der die durch den 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, 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 |
---|---|
|
Die Parameter pPolicyServer und pTemplate dürfen nicht NULL sein. |
|
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 Standardobjektbezeichnern XCN_OID_KEY_USAGE und XCN_OID_BASIC_CONSTRAINTS2 aufgefüllt ist.
- Eine leere IObjectIds-Auflistung für Attribut- und Erweiterungs-OIDs, die von der neuen Anforderung unterdrückt werden sollen.
Die -Methode untersucht dann die Vorlage und führt die folgenden Aktionen aus:
- Fügt die von der Vorlage angegebenen Erweiterungen der IX509Extensions-Auflistung 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 asymmetrische Verschlüsselungsalgorithmus-OID, 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 |