Freigeben über


IX509Enrollment::InstallResponse-Methode (certenroll.h)

Die InstallResponse-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 durch den ASN.1-Standard (Abstract Syntax Notation One) definiert. Sie müssen das DER-codierte Bytearray in einer Zeichenfolge angeben, die entweder eine reine Binärsequenz ist oder Unicode-codiert ist. Diese Methode ist webfähig.

Syntax

HRESULT InstallResponse(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword
);

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 keine nicht vertrauenswürdigen 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 ist 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 dieselbe Aktion wie das Flag AllowUntrustedCertificate aus, installiert das Zertifikat aber auch dann, wenn die Zertifikatkette nicht erstellt werden kann, da der Stamm nicht vertrauenswürdig ist.
Hinweis Unter Windows Vista ist das Verhalten dieses Flags identisch mit dem für das Flag AllowUntrustedCertificate definiert. Ab Windows Vista mit SP1 können Sie ein Zertifikat installieren, das bis zu einem nicht vertrauenswürdigen Stamm verkettet.
 

[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 oder eine leere Zeichenfolge sein, um anzugeben, dass kein Kennwort verwendet wird. Wenn ein Kennwort vorhanden ist, löschen Sie es aus dem Arbeitsspeicher, wenn Sie es verwendet haben, indem Sie die SecureZeroMemory-Funktion aufrufen. Weitere Informationen zum Schutz des Kennworts finden Sie unter Behandeln von Kennwörtern.

Ab Windows 8 und Windows Server 2012 kann ein NULL - oder leeres Kennwort bedeuten, dass das PFX-Paket in der Funktion PFXExportCertStoreEx mithilfe des flags PKCS12_PROTECT_TO_DOMAIN_SIDS erstellt wurde. Wenn ja, wurde die PFX zu einer Active Directory-Gruppe verschlüsselt. Weitere Informationen finden Sie unter PFXExportCertStoreEx und PFXImportCertStore.

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
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 InstallResponse-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 auf das neu installierte Zertifikat im persönlichen Speicher.

Bevor Sie die InstallResponse-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.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certenroll.h
DLL CertEnroll.dll

Weitere Informationen

IX509Registrierung