Condividi tramite


Metodo ICertRequest3::SetCredential (certcli.h)

Il metodo SetCredential imposta le credenziali usate per contattare il servizio Web Registrazione certificati.

Sintassi

HRESULT SetCredential(
  [in] LONG                    hWnd,
  [in] X509EnrollmentAuthFlags AuthType,
  [in] BSTR                    strCredential,
  [in] BSTR                    strPassword
);

Parametri

[in] hWnd

Handle per la finestra padre.

Per ottenere le credenziali, è necessario impostare il parametro hWnd .

Per l'autorizzazione basata su certificato, l'handle viene usato se è necessario un prompt dell'interfaccia utente per ottenere le credenziali, ad esempio se la credenziale si trova in una smart card e è necessaria una richiesta di aggiunta.

Quando si usa l'autenticazione Kerberos, anonima o utente e password, questo parametro viene ignorato.

[in] AuthType

Valore dell'enumerazione X509EnrollmentAuthFlags che specifica il tipo di autenticazione.

Valore Significato
X509AuthAnonymous
Autenticazione anonima.

Impostare i parametri strCredential e strPassword su NULL o su stringhe vuote.

X509AuthCertificate
Certificato di autenticazione client installato nel computer locale. Il certificato contiene una chiave pubblica associata a una chiave privata (non contenuta nel certificato). Il certificato viene usato dal server per verificare l'identità del client.

Il parametro strCredential contiene un hash SHA-1 a 20 byte binario del certificato da passare al servizio Web di registrazione certificati per autenticare il chiamante. Impostare il parametro strPassword su NULL o su una stringa vuota. Il parametro strCredential deve fare riferimento a un certificato installato nell'archivio certificati personale pertinente e deve avere una chiave privata associata accessibile al chiamante.

X509AuthKerberos
Autenticazione Kerberos.

Impostare i parametri strCredential e strPassword su NULL o su stringhe vuote.

X509AuthUsername
Nome utente in testo non crittografato e autenticazione della password. Il nome utente e la password vengono crittografati quando vengono archiviati nell'insieme di credenziali nel client.

I parametri strCredential e strPassword contengono una stringa di nome utente e una password di testo non crittografato supportata dal servizio Web registrazione certificati per autenticare il chiamante. Poiché una connessione al servizio di registrazione usa sempre il protocollo SSL (Secure Sockets Layer ), la password viene crittografata quando inviata tramite rete.

[in] strCredential

Stringa contenente le credenziali.

[in] strPassword

Stringa contenente la password.

Valore restituito

Codice restituito Descrizione
E_INVALIDARG
Il parametro AuthType deve essere X509AuthKerberos.

Commenti

Il metodo SetCredential deve essere chiamato prima di chiamare il metodo ICertRequest2::Submit .

Gli argomenti strCredential e strPassword cambiano a seconda del valore specificato nel parametro AuthType , come illustrato nella tabella seguente.

Parametro AuthType parametro strCredential parametro strPassword
X509AuthAnonymous NULL NULL
X509AuthCertificate Hash SHA-1 a 20 byte (identificazione personale) del certificato NULL
X509AuthKerberos NULL NULL
X509AuthUsername Nome utente in testo non crittografato riconosciuto dal servizio Web registrazione certificati Password in testo non crittografato associata al nome utente

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 certcli.h (include Certsrv.h)
Libreria Certidl.lib
DLL Certcli.dll

Vedi anche

CCertRequest

ICertRequest3