Funzione SslExportKey
La funzione SslExportKey restituisce una chiave di sessione SSL (Secure Sockets Layer Protocol) o una chiave temporanea pubblica in un BLOB serializzato.
Sintassi
SECURITY_STATUS WINAPI SslExportKey(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hKey,
_In_ LPCWSTR pszBlobType,
_Out_opt_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_Out_ DWORD *pcbResult,
_In_ DWORD dwFlags
);
Parametri
-
hSslProvider [in]
-
Handle dell'istanza del provider di protocolli SSL.
-
hKey [in]
-
Handle della chiave da esportare.
Quando non si specifica una chiave, impostare questo parametro su NULL.
Nota
Un handle hKey viene ottenuto chiamando la funzione SslOpenPrivateKey . Gli handle ottenuti dalla funzione NCryptOpenKey non sono supportati.
-
pszBlobType [in]
-
Stringa Unicode con terminazione null contenente un identificatore che specifica il tipo di BLOB da esportare. Questo può essere uno dei valori seguenti.
Valore Significato - BCRYPT_DH_PUBLIC_BLOB
Esportare una chiave pubblica Diffie-Hellman. Il buffer pbOutput riceve una struttura BCRYPT_DH_KEY_BLOB immediatamente seguita dai dati chiave. - BCRYPT_ECCPUBLIC_BLOB
Esportare una chiave pubblica ecc ( elliptic curve cryptography ). Il buffer pbOutput riceve una struttura BCRYPT_ECCKEY_BLOB immediatamente seguita dai dati chiave. - BCRYPT_OPAQUE_KEY_BLOB
Esportare una chiave simmetrica in un formato specifico di un singolo provider di servizi di crittografia . I BLOB opachi non sono trasferiscibili e devono essere importati usando lo stesso provider di servizi di crittografia (CSP) che ha generato il BLOB. - BCRYPT_RSAPUBLIC_BLOB
Esportare una chiave pubblica RSA. Il buffer pbOutput riceve una struttura BCRYPT_RSAKEY_BLOB immediatamente seguita dai dati chiave. -
pbOutput [out, facoltativo]
-
Indirizzo di un buffer che riceve il BLOB della chiave. Il parametro cbOutput contiene le dimensioni di questo buffer. Se questo parametro è NULL, questa funzione inserisce le dimensioni necessarie, in byte, nel parametro DWORD a cui punta il parametro pcbResult .
-
cbOutput [in]
-
Dimensioni, in byte, del buffer pbOutput .
-
pcbResult [out]
-
Indirizzo di una variabile DWORD che riceve il numero di byte copiati nel buffer pbOutput . Se il parametro pbOutput è impostato su NULL quando viene chiamata la funzione, le dimensioni necessarie per il buffer pbOutput , in byte, vengono restituite in DWORD a cui fa riferimento questo parametro.
-
dwFlags [in]
-
Riservato per utilizzi 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, ma non sono limitati a, i seguenti.
Codice/valore restituito | Descrizione |
---|---|
|
Uno degli handle forniti non è valido. |
Commenti
La funzione SslExportKey facilita il trasporto delle chiavi di sessione da un processo a un altro e l'esportazione della parte pubblica di una chiave temporanea.
Quando si esportano chiavi di sessione, il tipo BLOB è opaco, ovvero il formato del BLOB è irrilevante, purché sia le funzioni SslExportKey che SslImportKey possano interpretarla.
Quando si esporta la parte pubblica di una chiave temporanea, il tipo BLOB deve essere il tipo appropriato, ad esempio NCRYPT_DH_PUBLIC_BLOB o NCRYPT_ECCPUBLIC_BLOB.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista [solo app desktop] |
Server minimo supportato |
Windows Server 2008 [solo app desktop] |
Intestazione |
|
DLL |
|