Condividi tramite


Metodo IX509Enrollment::InstallResponse (certenroll.h)

Il metodo InstallResponse installa una catena di certificati nel computer dell'entità finale. La matrice di byte che contiene la risposta viene codificata usando Distinguished Encoding Rules (DER) come definito dallo standard ASN.1 (Abstract Syntax Notation One). È necessario specificare la matrice di byte con codifica DER in una stringa che è una sequenza binaria pura o è codificata in Unicode. Questo metodo è abilitato per il Web.

Sintassi

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

Parametri

[in] Restrictions

Valore di enumerazione InstallResponseRestrictionFlags che specifica il tipo di certificati che è possibile installare. Può trattarsi di uno o più dei valori seguenti.

Valore Significato
AllowNone
Non installare certificati o certificati non attendibili per i quali non è presente alcuna richiesta corrispondente.
AllowNoOutstandingRequest
Creare la chiave privata dalla risposta del certificato anziché dal certificato fittizio. In questo modo il certificato fittizio è facoltativo. Se questo valore non è impostato, il certificato fittizio deve esistere e la chiave privata viene estratta da essa.
AllowUntrustedCertificate
Installare i certificati dell'entità finale e dell'autorità di certificazione non attendibili. I certificati dell'autorità di certificazione includono certificati CA radice e subordinati. I certificati dell'entità finale vengono installati nell'archivio personale e i certificati della CA vengono installati nell'archivio dell'autorità di certificazione.
AllowUntrustedRoot
Eseguire la stessa azione del flag AllowUntrustedCertificate , ma installa anche il certificato anche se la catena di certificati non può essere compilata perché la radice non è attendibile.
Nota In Windows Vista il comportamento di questo flag corrisponde a quello definito per il flag AllowUntrustedCertificate . A partire da Windows Vista con SP1, è possibile installare un certificato che concatena fino a una radice non attendibile.
 

[in] strResponse

Variabile BSTR che contiene la risposta con codifica DER.

[in] Encoding

Valore di enumerazione EncodingType che specifica il tipo di codifica applicata alla stringa che contiene la risposta con codifica DER.

[in, optional] strPassword

Password facoltativa per l'installazione del certificato. Può essere NULL o una stringa vuota per indicare che non viene usata alcuna password. Se è presente una password, cancellarla dalla memoria al termine dell'uso chiamando la funzione SecureZeroMemory . Per altre informazioni sulla protezione della password, vedere Gestione delle password.

A partire da Windows 8 e Windows Server 2012, una password NULL o vuota può indicare che il pacchetto PFX è stato creato nella funzione PFXExportCertStoreEx usando il flag PKCS12_PROTECT_TO_DOMAIN_SIDS . In tal caso, il file PFX è stato crittografato in un gruppo di Active Directory. Per altre informazioni, vedere PFXExportCertStoreEx e PFXImportCertStore.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce S_OK.

Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Codice restituito Descrizione
E_ACCESSDENIED
Questo metodo è stato chiamato dal Web e AllowNoOutstandingRequest o AllowUntrustedCertificate è stato specificato nel parametro Restrictions .
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW
La lunghezza della stringa contenente la password supera i 64 kilobyte.
OLE_E_BLANK
L'oggetto di registrazione non è stato inizializzato.

Commenti

Metodo InstallResponse :

  1. Recupera il certificato fittizio dall'archivio esterno.
  2. Recupera il certificato contenuto nella risposta e lo installa nel computer.
  3. Copia le proprietà dal certificato fittizio nell'archivio esterno nel certificato appena installato nell'archivio personale.

Prima di chiamare il metodo InstallResponse , è necessario inizializzare l'oggetto IX509Enrollment chiamando uno dei metodi seguenti.

Se si chiama questo metodo dal Web, è possibile specificare solo AllowNone o AllowUntrustedRoot nel parametro Restrictions . Se si specifica AllowNoOutstandingRequest o AllowUntrustedCertificate, il metodo restituisce un errore E_ACCESSDENIED .

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certenroll.h
DLL CertEnroll.dll

Vedi anche

IX509Enrollment