Condividi tramite


Funzione SslExportKeyingMaterial

Esporta materiale di chiave per lo standard RFC 5705. Questa funzione usa la funzione pseudorandom TLS per produrre un buffer di byte del materiale di chiave. Accetta un riferimento al segreto master, l'etichetta ASCII disambiguata, i valori casuali del client e del server e facoltativamente i dati del contesto dell'applicazione.

Sintassi

SECURITY_STATUS WINAPI SslExportKeyingMaterial(
  _In_     NCRYPT_PROV_HANDLE hSslProvider,
  _In_     NCRYPT_KEY_HANDLE  hMasterKey,
  _In_     PCHAR              sLabel,
  _In_     PBYTE              pbRandoms,
  _In_     DWORD              cbRandoms,
  _In_opt_ PBYTE              pbContextValue,
  _In_     WORD               cbContextValue,
  _Out_    PBYTE              pbOutput,
  _In_     DWORD              cbOutput,
  _In_     DWORD              dwFlags
);

Parametri

hSslProvider [in]

Handle dell'istanza del provider di protocollo TLS.

hMasterKey [in]

Handle dell'oggetto chiave master che verrà usato per creare il materiale di keying in br esportato.

sLabel [in]

stringa di etichetta ASCII con terminazione NUL. Schannel rimuoverà il carattere NUL terminante prima di passarlo alla funzione pseudorandom.

pbRandoms [in]

Puntatore a un buffer contenente una concatenazione dei valori di client_random e server_random della connessione TLS.

cbRandoms [in]

Lunghezza, in byte, del buffer pbRandoms .

pbContextValue [in, facoltativo]

Puntatore a un buffer contenente il contesto dell'applicazione. Se pbContextValue è NULL, cbContextValue deve essere zero.

cbContextValue [in]

Lunghezza, in byte, del buffer pbContextValue .

pbOutput [out]

Indirizzo di un buffer che riceve il materiale di chiave esportato. Il parametro cbOutput contiene le dimensioni di questo buffer. Questo valore non può essere NULL.

cbOutput [in]

Lunghezza, in byte, del buffer pbOutput . Deve essere maggiore di zero.

dwFlags [in]

Non usato. Deve essere impostato su zero.

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
NTE_INVALID_HANDLE
0x80090026L
Uno degli handle forniti non è valido.

Requisiti

Requisito Valore
Client minimo supportato
Windows 10 [solo app desktop]
Server minimo supportato
Windows Server 2016 [solo app desktop]
Intestazione
Sslprovider.h
DLL
Ncrypt.dll