IX509Enrollment2::InstallResponse2-Methode (certenroll.h)
Die InstallResponse2-Methode installiert eine Zertifikatkette auf dem Computer der Endentität. Das Bytearray, das die Antwort enthält, wird mithilfe von Distinguished Encoding Rules (DER) codiert, wie im Asn.1-Standard (Abstract Syntax Notation One) definiert. Sie müssen das DER-codierte Bytearray in einer Zeichenfolge angeben, die entweder eine reine binäre Sequenz oder Unicode-codiert ist. Diese Methode ist webfähig.
Syntax
HRESULT InstallResponse2(
[in] InstallResponseRestrictionFlags Restrictions,
[in] BSTR strResponse,
[in] EncodingType Encoding,
[in, optional] BSTR strPassword,
[in] BSTR strEnrollmentPolicyServerUrl,
[in] BSTR strEnrollmentPolicyServerID,
[in] PolicyServerUrlFlags EnrollmentPolicyServerFlags,
[in] X509EnrollmentAuthFlags authFlags
);
Parameter
[in] Restrictions
Ein InstallResponseRestrictionFlags-Enumerationswert , der den Typ der Zertifikate angibt, die installiert werden können. Dies kann mindestens einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Installieren Sie nicht vertrauenswürdige Zertifikate oder Zertifikate, für die keine entsprechende Anforderung vorhanden ist. |
|
Erstellen Sie den privaten Schlüssel aus der Zertifikatantwort und nicht aus dem Dummyzertifikat. Dadurch wird das Dummyzertifikat optional. Wenn dieser Wert nicht festgelegt ist, muss das Dummyzertifikat vorhanden sein, und der private Schlüssel wird daraus extrahiert. |
|
Installieren Sie nicht vertrauenswürdige Zertifikate für Endentität und Zertifizierungsstelle . Zertifizierungsstellenzertifikate umfassen Stammzertifikate und untergeordnete Zertifizierungsstellenzertifikate. Endentitätszertifikate werden im persönlichen Speicher installiert, und Zertifizierungsstellenzertifikate werden im Speicher der Zertifizierungsstelle installiert. |
|
Führen Sie die gleiche Aktion wie das AllowUntrustedCertificate-Flag aus, aber installieren Sie das Zertifikat auch dann, wenn die Zertifikatkette nicht erstellt werden kann, da der Stamm nicht vertrauenswürdig ist. Hinweis Unter Windows Vista entspricht das Verhalten dieses Flags dem für das Flag AllowUntrustedCertificate definiert. Sie können einen nicht vertrauenswürdigen Stamm ab Windows Vista mit SP1 installieren.
|
[in] strResponse
Eine BSTR-Variable , die die DER-codierte Antwort enthält.
[in] Encoding
Ein EncodingType-Enumerationswert , der den Codierungstyp angibt, der auf die Zeichenfolge angewendet wird, die die DER-codierte Antwort enthält.
[in, optional] strPassword
Ein optionales Kennwort für die Zertifikatinstallation. Dies kann NULL sein, um anzugeben, dass kein Kennwort verwendet wird. Wenn Sie die Verwendung des Kennworts abgeschlossen haben, löschen Sie es aus dem Arbeitsspeicher, indem Sie die SecureZeroMemory-Funktion aufrufen. Weitere Informationen zum Schutz des Kennworts finden Sie unter Behandeln von Kennwörtern.
[in] strEnrollmentPolicyServerUrl
Ein BSTR , der die URL des Zertifikatregistrierungsrichtlinienservers (Certificate Enrollment Policy, CEP) enthält.
[in] strEnrollmentPolicyServerID
Ein BSTR , der einen Bezeichner für den CEP-Server enthält.
[in] EnrollmentPolicyServerFlags
Ein PolicyServerUrlFlags-Enumerationswert . Dies kann einer der folgenden Werte sein.
[in] authFlags
Ein X509EnrollmentAuthFlags-Enumerationswert , der den Clientauthentifizierungstyp angibt. Für Windows 7 kann nur X509AuthCertificate aus den folgenden Werten ausgewählt werden.
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 |
---|---|
|
Diese Methode wurde aus dem Web aufgerufen, und im Parameter Restrictions wurde entweder AllowNoOutstandingRequest oder AllowUntrustedCertificate angegeben. |
|
Die Länge der Zeichenfolge, die das Kennwort enthält, überschreitet 64 KB. |
|
Das Registrierungsobjekt wurde nicht initialisiert. |
Hinweise
Die InstallResponse2-Methode :
- Ruft das Dummyzertifikat aus dem externen Speicher ab.
- Ruft das in der Antwort enthaltene Zertifikat ab und installiert es auf dem Computer.
- Kopiert Eigenschaften aus dem Dummyzertifikat im externen Speicher in das neu installierte Zertifikat im persönlichen Speicher.
Bevor Sie die InstallResponse2-Methode aufrufen, müssen Sie das IX509Enrollment-Objekt initialisieren, indem Sie eine der folgenden Methoden aufrufen.
Wenn Sie diese Methode aus dem Web aufrufen, können Sie im Parameter Restrictions nur AllowNone oder AllowUntrustedRoot angeben. Wenn Sie AllowNoOutstandingRequest oder AllowUntrustedCertificate angeben, gibt die Methode einen E_ACCESSDENIED Fehler zurück.
Die letzten vier Parameter (strEnrollmentPolicyServerUrl, strEnrollmentPolicyServerID, EnrollmentPolicyServerFlags und authFlags) sind nicht in der InstallResponse-Methode enthalten. Sie ermöglichen es Ihnen, dem installierten Zertifikat einen Eigenschaftswert auf die gleiche Weise hinzuzufügen wie die ICertPropertyEnrollmentPolicyServer-Schnittstelle .
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 |