Condividi tramite


Metodo IX509Enrollment2::InstallResponse2 (certenroll.h)

Il metodo InstallResponse2 installa una catena di certificati nel computer di entità finale. La matrice di byte che contiene la risposta viene codificata usando le regole di codifica distinte (DER) definite 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 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
);

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.

Value Meaning
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 dell'autorità di certificazione vengono installati nell'archivio dell'autorità di certificazione.
AllowUntrustedRoot
Eseguire la stessa azione del flag AllowUntrustedCertificate , ma installa anche il certificato anche se non è possibile compilare la catena di certificati perché la radice non è attendibile.
Nota In Windows Vista il comportamento di questo flag è uguale a quello definito per il flag AllowUntrustedCertificate . È possibile installare una radice non attendibile a partire da Windows Vista con SP1.
 

[in] strResponse

Variabile BSTR che contiene la risposta con codifica DER.

[in] Encoding

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

[in, optional] strPassword

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

[in] strEnrollmentPolicyServerUrl

BSTR che contiene l'URL del server CEP (Certificate Enrollment Policy).

[in] strEnrollmentPolicyServerID

BSTR che contiene un identificatore per il server CEP.

[in] EnrollmentPolicyServerFlags

Valore di enumerazione PolicyServerUrlFlags . Può trattarsi di uno dei valori seguenti.

Value Meaning
PsfLocationGroupPolicy
L'URL del server CEP viene specificato nei criteri di gruppo da un amministratore.
PsfLocationRegistry
L'URL del server CEP viene specificato nel Registro di sistema.
PsfUseClientId
Specifica che le registrazioni e i rinnovi dei certificati includono dati specifici del client in un attributo ClientId . Gli esempi includono il nome del provider di servizi di crittografia, il numero di versione di Windows, il nome utente, il nome DNS del computer e il nome DNS del controller di dominio. Questo flag può essere impostato da Criteri di gruppo.

Questo flag è stato incluso per risolvere i problemi di privacy che possono verificarsi durante la registrazione ai server gestiti da amministratori diversi da quelli che gestiscono la foresta in cui risiede l'utente. Non impostando questo flag, è possibile impedire l'invio di informazioni personali agli amministratori non locali.

PsfAutoEnrollmentEnabled
La registrazione automatica dei certificati è abilitata.
PsfAllowUnTrustedCA
Specifica che il certificato della CA emittente non deve essere considerato attendibile dal client per installare un certificato firmato dalla CA.

[in] authFlags

Valore di enumerazione X509EnrollmentAuthFlags che specifica il tipo di autenticazione client. Per Windows 7, è possibile scegliere solo X509AuthCertificate dai valori seguenti.

Value Meaning
X509AuthAnonymous
Autenticazione anonima.
X509AuthKerberos
Autenticazione Kerberos.
X509AuthUsername
Cancellare il testo del nome utente e l'autenticazione della password.
Nota Il nome utente e la password vengono crittografati prima della trasmissione e vengono archiviati in modo sicuro nell'insieme di credenziali delle credenziali nel server CEP.
 
X509AuthCertificate
Certificato di autenticazione client installato nel computer locale e usato dal server per verificare l'identità del client.

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 solo, quelli nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

Codice restituito Description
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 che contiene la password supera i 64 kilobyte.
OLE_E_BLANK
L'oggetto di registrazione non è stato inizializzato.

Osservazioni:

Metodo InstallResponse2 :

  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 InstallResponse2 , è 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 .

Gli ultimi quattro parametri (strEnrollmentPolicyServerUrl, strEnrollmentPolicyServerID, EnrollmentPolicyServerFlags e authFlags) non sono inclusi nel metodo InstallResponse . Consentono di aggiungere un valore di proprietà al certificato installato in modo analogo a quello dell'interfaccia ICertPropertyEnrollmentPolicyServer .

Requisiti

Requisito Value
Client minimo supportato Windows 7 [solo applicazioni desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Header certenroll.h

Vedere anche

IX509Enrollment2