Funzione CryptSetProvParam (wincrypt.h)
Sintassi
BOOL CryptSetProvParam(
[in] HCRYPTPROV hProv,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Parametri
[in] hProv
Handle di un provider di servizi di configurazione per il quale impostare i valori. Questo handle deve essere già stato creato usando la funzione CryptAcquireContext .
[in] dwParam
Specifica il parametro da impostare. Può trattarsi di uno dei valori seguenti.
Valore | Significato |
---|---|
|
Impostare l'handle di finestra utilizzato dal provider come elemento padre di qualsiasi finestra di dialogo creata. pbData contiene un puntatore a un HWND che contiene l'handle della finestra padre.
Questo parametro deve essere impostato prima di chiamare CryptAcquireContext perché molti CSP visualizzeranno un'interfaccia utente quando viene chiamato CryptAcquireContext . È possibile passare NULL per il parametro hProv per impostare questo handle di finestra per tutti i contesti di crittografia acquisiti successivamente all'interno di questo processo. |
|
Eliminare la chiave temporanea associata a un contesto hash, di crittografia o di verifica. Questa operazione consente di liberare memoria e cancellare le impostazioni del Registro di sistema associate alla chiave. |
|
Questa costante non viene utilizzata. |
|
Specifica che il PIN di scambio delle chiavi è contenuto in pbData. Il PIN è rappresentato come stringa ASCII con terminazione Null. |
|
Questa costante non viene utilizzata. |
|
Imposta il descrittore di sicurezza nel contenitore di archiviazione delle chiavi. Il parametro pbData è l'indirizzo di una struttura SECURITY_DESCRIPTOR che contiene il nuovo descrittore di sicurezza per il contenitore di archiviazione delle chiavi. |
|
Imposta una stringa di richiesta alternativa da visualizzare all'utente quando viene richiesto il PIN dell'utente. Il parametro pbData è un puntatore a una stringa Unicode con terminazione Null. |
|
Imposta l'archivio certificati radice per la smart card. Il provider copierà i certificati radice da questo archivio nella smart card.
Il parametro pbData è una variabile HCERTSTORE che contiene l'handle del nuovo archivio certificati. Il provider copierà i certificati dall'archivio durante questa chiamata, pertanto è possibile chiudere questo archivio dopo la chiamata a questa funzione. Windows XP e Windows Server 2003: Questo parametro non è supportato. |
|
Questa costante non viene utilizzata. |
|
Specifica il PIN della firma. Il parametro pbData è una stringa ASCII con terminazione Null che rappresenta il PIN. |
|
Questa costante non viene utilizzata. |
|
Per un provider di smart card, imposta la stringa di ricerca visualizzata all'utente come richiesta di inserire la smart card. Questa stringa viene passata come membro lpstrSearchDesc della struttura OPENCARDNAME_EX passata alla funzione SCardUIDlgSelectCard . Questa stringa viene utilizzata per la durata del processo chiamante.
Il parametro pbData è un puntatore a una stringa Unicode con terminazione Null. |
|
Specifica che il provider di servizi di configurazione deve usare esclusivamente il generatore di numeri casuali hardware (RNG). Quando viene impostata PP_USE_HARDWARE_RNG , i valori casuali vengono acquisiti esclusivamente dal RNG hardware e non vengono usate altre origini. Se un RNG hardware è supportato dal CSP e può essere usato esclusivamente, la funzione ha esito positivo e restituisce TRUE; in caso contrario, la funzione ha esito negativo e restituisce FALSE. Il parametro pbData deve essere NULL e dwFlags deve essere zero quando si usa questo valore.
Nessun provider di servizi di configurazione Microsoft attualmente supporta l'uso di un RNG hardware. |
|
Specifica l'archivio certificati utente per la smart card. Questo archivio certificati contiene tutti i certificati utente archiviati nella smart card. I certificati in questo archivio vengono codificati tramite codifica PKCS_7_ASN_ENCODING o X509_ASN_ENCODING e devono contenere la proprietà CERT_KEY_PROV_INFO_PROP_ID .
Il parametro pbData è una variabile HCERTSTORE che riceve l'handle di un archivio certificati in memoria. Quando questo handle non è più necessario, il chiamante deve chiuderlo usando la funzione CertCloseStore . Windows Server 2003 e Windows XP: Questo parametro non è supportato. |
|
Specifica che un PIN di scambio di chiavi crittografato è contenuto in pbData. Il parametro pbData contiene un DATA_BLOB. |
|
Specifica che un PIN della firma crittografata è contenuto in pbData. Il parametro pbData contiene un DATA_BLOB. |
|
Specifica il nome del lettore di smart card. Il parametro pbData è l'indirizzo di una matrice di caratteri ANSI che contiene una stringa ANSI con terminazione Null contenente il nome del lettore di smart card.
Windows Server 2003 e Windows XP: Questo parametro non è supportato. |
|
Specifica l'identificatore della smart card. Il parametro pbData è l'indirizzo di una struttura GUID che contiene l'identificatore della smart card.
Windows Server 2003 e Windows XP: Questo parametro non è supportato. |
[in] pbData
Puntatore a un buffer di dati che contiene il valore da impostare come parametro del provider. La forma di questi dati varia a seconda del valore dwParam . Se dwParam contiene PP_USE_HARDWARE_RNG, questo parametro deve essere NULL.
[in] dwFlags
Se dwParam contiene PP_KEYSET_SEC_DESCR, dwFlags contiene i flag di bit applicabili SECURITY_INFORMATION applicabili, come definito in Platform SDK. La sicurezza del contenitore chiave viene gestita usando SetFileSecurity e GetFileSecurity.
Questi flag di bit possono essere combinati usando un'operazione BIT-OR . Per altre informazioni, vedere CryptGetProvParam.
Se dwParam è PP_USE_HARDWARE_RNG o PP_DELETEKEY, è necessario impostare dwFlags su zero.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).
Se la funzione ha esito negativo, il valore restituito è zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError.
I codici di errore preceduti da "NTE" vengono generati dal particolare CSP usato. I codici di errore includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
Il contesto CSP è attualmente usato da un altro processo. |
|
Uno dei parametri specifica un handle non valido. |
|
Uno dei parametri contiene un valore non valido. Questo è più spesso un puntatore che non è valido. |
|
Il parametro dwFlags è diverso da zero o il buffer pbData contiene un valore non valido. |
|
Il parametro dwParam specifica un parametro sconosciuto. |
|
Impossibile trovare il contesto CSP specificato quando è stata creata la chiave hKey . |
|
La funzione non è riuscita in modo imprevisto. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |