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 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 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.

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. Ciò rende facoltativo il certificato fittizio. Se questo valore non è impostato, il certificato fittizio deve esistere e la chiave privata viene estratta da essa.
AllowUntrustedCertificate
Installare certificati dell'entità finale non attendibili e dell'autorità di certificazione . I certificati dell'autorità di certificazione includono certificati CA radice e subordinati. I certificati di entità finali vengono installati nell'archivio personale e i certificati ca vengono installati nell'archivio 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 è 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 applicata alla stringa contenente la risposta con codifica DER.

[in, optional] strPassword

Password facoltativa per l'installazione del certificato. Questo 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 . Questo può essere uno dei valori seguenti.

Valore Significato
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 dei certificati e i rinnovi 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 dai 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 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.

Valore Significato
X509AuthAnonymous
Autenticazione anonima.
X509AuthKerberos
Autenticazione Kerberos.
X509AuthUsername
Cancellare il 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 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 sono limitati a, quelli indicati nella tabella seguente. Per un elenco di 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 Restrizioni .
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW
La lunghezza della stringa contenente la password supera 64 kilobyte.
OLE_E_BLANK
L'oggetto di registrazione non è stato inizializzato.

Commenti

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 Restrizioni . 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 nello stesso modo dell'interfaccia ICertPropertyEnrollmentPolicyServer .

Requisiti

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

Vedi anche

IX509Enrollment2