Freigeben über


IX509CertificateRequestPkcs7V2::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
);

Die 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:

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] pPolicyServer

Zeiger auf ein IX509EnrollmentPolicyServer -Objekt, das den Zertifikatregistrierungsrichtlinienserver (CEP) 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, wird ein HRESULT-Wert zurückgegeben, der den Fehler angibt. Mögliche Werte sind die Werte in der folgenden Tabelle, sind jedoch nicht beschränkt. Eine Liste allgemeiner Fehlercodes finden Sie unter "Allgemeine HRESULT-Werte".

Zurückgeben von Code/Wert Description
E_POINTER
Der pTemplate-Parameter darf nicht NULL sein.
ERROR_ALREADY_INITIALIZED
Das Zertifikatanforderungsobjekt wurde bereits initialisiert.

Bemerkungen

Die InitializeFromTemplate-Methode erstellt ein PKCS #7-Anforderungsobjekt und legt die folgenden Eigenschaften auf die Werte fest, die vorhanden waren, bevor diese Methode aufgerufen wurde:

Die Methode erstellt die folgenden Auflistungen:

Die Methode untersucht dann die Vorlage und führt die folgenden Aktionen aus:

  • Fügt die durch die Vorlage angegebenen Erweiterungen zur 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 gekennzeichneten OIDs werden hinzugefügt.
  • Legt die SmimeCapabilities -Eigenschaft fest, wenn die Vorlage symmetrische Algorithmen unterstützt.
  • Legt die AlternateSignatureAlgorithm -Eigenschaft fest, wenn für die Vorlage ein separater Signaturalgorithmus OID erforderlich ist.
  • Erstellt ein IX509SignatureInformation -Objekt.
  • Erstellt einen Hashalgorithmus OID, wenn der Algorithmus in der Vorlage angegeben ist, und legt ihn für das IX509SignatureInformation -Objekt fest.
  • Erstellt einen asymmetrischen 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.

Schließlich legt die Methode die initialisierte PKCS #10-Anforderung als inneres Anforderungsobjekt fest.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 7 [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Fenster
Header certenroll.h

Siehe auch

IX509CertificateRequestPkcs7V2