Freigeben über


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
AllowNone
Installieren Sie nicht vertrauenswürdige Zertifikate oder Zertifikate, für die keine entsprechende Anforderung vorhanden ist.
AllowNoOutstandingRequest
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.
AllowUntrustedCertificate
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.
AllowUntrustedRoot
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.

Wert Bedeutung
PsfLocationGroupPolicy
Die CEP-Server-URL wird von einem Administrator in der Gruppenrichtlinie angegeben.
PsfLocationRegistry
Die CEP-Server-URL wird in der Registrierung angegeben.
PsfUseClientId
Gibt an, dass Zertifikatregistrierungen und -verlängerungen clientspezifische Daten in einem ClientId-Attribut enthalten. Beispiele hierfür sind der Name des Kryptografiedienstanbieters, die Windows-Versionsnummer, der Benutzername, der DNS-Name des Computers und der DNS-Name des Domänencontrollers. Dieses Flag kann durch Eine Gruppenrichtlinie festgelegt werden.

Dieses Flag wurde eingefügt, um Datenschutzbedenken zu beheben, die bei der Registrierung bei Servern auftreten können, die von anderen Administratoren als denen verwaltet werden, die die Gesamtstruktur verwalten, in der sich der Benutzer befindet. Wenn Sie dieses Flag nicht festlegen, können Sie verhindern, dass personenbezogene Informationen an nicht lokale Administratoren gesendet werden.

PsfAutoEnrollmentEnabled
Die automatische Zertifikatregistrierung ist aktiviert.
PsfAllowUnTrustedCA
Gibt an, dass das Zertifikat der ausstellenden Zertifizierungsstelle vom Client nicht als vertrauenswürdig eingestuft werden muss, um ein von der Zertifizierungsstelle signiertes Zertifikat zu installieren.

[in] authFlags

Ein X509EnrollmentAuthFlags-Enumerationswert , der den Clientauthentifizierungstyp angibt. Für Windows 7 kann nur X509AuthCertificate aus den folgenden Werten ausgewählt werden.

Wert Bedeutung
X509AuthAnonymous
Anonyme Authentifizierung.
X509AuthKerberos
Kerberos-Authentifizierung.
X509AuthUsername
Klartextbenutzer- und Kennwortauthentifizierung.
Hinweis Der Benutzername und das Kennwort werden vor der Übertragung verschlüsselt und sicher im Anmeldeinformationstresor auf dem CEP-Server gespeichert.
 
X509AuthCertificate
Clientauthentifizierungszertifikat, das auf dem lokalen Computer installiert ist und vom Server verwendet wird, um die Identität des Clients zu überprüfen.

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
E_ACCESSDENIED
Diese Methode wurde aus dem Web aufgerufen, und im Parameter Restrictions wurde entweder AllowNoOutstandingRequest oder AllowUntrustedCertificate angegeben.
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW)
Die Länge der Zeichenfolge, die das Kennwort enthält, überschreitet 64 KB.
OLE_E_BLANK
Das Registrierungsobjekt wurde nicht initialisiert.

Hinweise

Die InstallResponse2-Methode :

  1. Ruft das Dummyzertifikat aus dem externen Speicher ab.
  2. Ruft das in der Antwort enthaltene Zertifikat ab und installiert es auf dem Computer.
  3. 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

Weitere Informationen

IX509Registrierung2