Condividi tramite


Funzione SslImportMasterKey

La funzione SslImportMasterKey esegue un'operazione di scambio delle chiavi SSL ( Secure Sockets Layer Protocol) lato server.

Sintassi

SECURITY_STATUS WINAPI SslImportMasterKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hPrivateKey,
  _Out_ NCRYPT_KEY_HANDLE  *phMasterKey,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  PNCryptBufferDesc  pParameterList,
  _In_  PBYTE              pbEncryptedKey,
  _In_  DWORD              cbEncryptedKey,
  _In_  DWORD              dwFlags
);

Parametri

hSslProvider [in]

Handle all'istanza del provider di protocolli SSL.

hPrivateKey [in]

Handle alla chiave privata usata nello scambio.

phMasterKey [out]

Puntatore all'handle per ricevere la chiave master.

dwProtocol [in]

Uno dei valori identificatore del protocollo ssl del provider CNG .

dwCipherSuite [in]

Uno dei valori identificatori della suite di crittografia del provider SSL CNG .

pParameterList [in]

Puntatore a una matrice di buffer NCryptBuffer che contengono informazioni usate come parte dell'operazione di scambio delle chiavi. Il set preciso di buffer dipende dal protocollo e dalla suite di crittografia usata. Al minimo, l'elenco conterrà buffer che contengono i valori casuali del client e del server.

pbEncryptedKey [in]

Puntatore a un buffer che contiene la chiave privata premaster crittografata crittografata con la chiave pubblica del server.

cbEncryptedKey [in]

Dimensioni, in byte, del buffer pbEncryptedKey .

dwFlags [in]

Impostare questo parametro su NCRYPT_SSL_SERVER_FLAG per indicare che si tratta di una chiamata server.

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_NO_MEMORY
0x8009000EL
Memoria insufficiente è disponibile per allocare i buffer necessari.
NTE_INVALID_HANDLE
0x80090026L
Uno degli handle forniti non è valido.
NTE_INVALID_PARAMETER
0x80090027L
Il parametro phMasterKey è NULL.

Commenti

Questa funzione decrittografa il segreto premaster, calcola il segreto master SSL e restituisce un handle a questo oggetto al chiamante. Questa chiave master può quindi essere usata per derivare la chiave sessione SSL e completare l'handshake SSL.

Nota

Questa funzione viene usata quando viene usato l'algoritmo di scambio delle chiavi RSA . Quando si usa DH , il codice del server chiama invece SslGenerateMasterKey .

Requisiti

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