Funzione SslEnumCipherSuites
La funzione SslEnumCipherSuites enumera i pacchetti di crittografia supportati da un provider di protocollo SSL (Secure Sockets Layer Protocol ).
Sintassi
SECURITY_STATUS WINAPI SslEnumCipherSuites(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_opt_ NCRYPT_KEY_HANDLE hPrivateKey,
_Out_ NCRYPT_SSL_CIPHER_SUITE **ppCipherSuite,
_Inout_ PVOID *ppEnumState,
_In_ DWORD dwFlags
);
Parametri
-
hSslProvider [in]
-
Handle dell'istanza del provider del protocollo SSL.
-
hPrivateKey [in, facoltativo]
-
Handle di una chiave privata. Quando si specifica una chiave privata, SslEnumCipherSuites enumera i pacchetti di crittografia compatibili con la chiave privata. Ad esempio, se la chiave privata è una chiave DSS, vengono restituiti solo i pacchetti di crittografia DSS_DHE. Se la chiave privata è una chiave RSA, ma non supporta operazioni di decrittografia non elaborate, le suite di crittografia SSL2 non vengono restituite.
Impostare questo parametro su NULL quando non si specifica una chiave privata.
Nota
Un handle hPrivateKey viene ottenuto chiamando la funzione SslOpenPrivateKey . Gli handle ottenuti dalla funzione NCryptOpenKey non sono supportati.
-
ppCipherSuite [out]
-
Puntatore a una struttura NCRYPT_SSL_CIPHER_SUITE per ricevere l'indirizzo della suite di crittografia successiva nell'elenco.
-
ppEnumState [in, out]
-
Puntatore a un buffer che indica la posizione corrente nell'elenco di pacchetti di crittografia.
Impostare il puntatore su NULL nella prima chiamata a SslEnumCipherSuites. In ogni chiamata successiva passare di nuovo il valore non modificato a SslEnumCipherSuites.
Quando non sono disponibili più pacchetti di crittografia, è consigliabile liberare ppEnumState chiamando la funzione SslFreeBuffer .
-
dwFlags [in]
-
Questo parametro è riservato per usi futuri.
Valore restituito
Se la funzione ha esito positivo, restituisce zero.
Se la funzione ha esito negativo, restituisce un valore di errore diverso da zero.
I codici restituiti possibili includono, a titolo esemplificativo, quanto segue.
Codice/valore restituito | Descrizione |
---|---|
|
Memoria insufficiente per allocare i buffer necessari. |
|
Uno degli handle forniti non è valido. |
|
Non sono supportati pacchetti di crittografia aggiuntivi. |
Commenti
Per enumerare tutti i pacchetti di crittografia supportati dal provider SSL, chiamare la funzione SslEnumCipherSuites in un ciclo fino a quando non viene restituito NTE_NO_MORE_ITEMS.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista [solo app desktop] |
Server minimo supportato |
Windows Server 2008 [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|