Función SslImportMasterKey

La función SslImportMasterKey realiza una operación de intercambio de claves del protocolo Secure Sockets Layer (SSL) del lado servidor.

Sintaxis

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
);

Parámetros

hSslProvider [in]

Identificador de la instancia del proveedor de protocolo SSL.

hPrivateKey [in]

Identificador de la clave privada usada en el intercambio.

phMasterKey [out]

Puntero al identificador para recibir la clave maestra.

dwProtocol [in]

Uno de los valores de identificador de protocolo de proveedor SSL de CNG .

dwCipherSuite [in]

Uno de los valores de identificadores del conjunto de cifrado del proveedor SSL de CNG .

pParameterList [in]

Puntero a una matriz de búferes NCryptBuffer que contienen información utilizada como parte de la operación de intercambio de claves. El conjunto preciso de búferes depende del protocolo y del conjunto de cifrado que se usa. Como mínimo, la lista contendrá búferes que contienen los valores aleatorios proporcionados por el cliente y el servidor.

pbEncryptedKey [in]

Puntero a un búfer que contiene la clave secreta de premaster cifrada con la clave pública del servidor.

cbEncryptedKey [in]

Tamaño, en bytes, del búfer pbEncryptedKey .

dwFlags [in]

Establezca este parámetro en NCRYPT_SSL_SERVER_FLAG para indicar que se trata de una llamada de servidor.

Valor devuelto

Si la función se ejecuta correctamente, devuelve cero.

Si se produce un error en la función, devuelve un valor de error distinto de cero.

Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.

Código o valor devuelto Descripción
NTE_NO_MEMORY
0x8009000EL
No hay suficiente memoria disponible para asignar los búferes necesarios.
NTE_INVALID_HANDLE
0x80090026L
Uno de los identificadores proporcionados no es válido.
NTE_INVALID_PARAMETER
0x80090027L
El parámetro phMasterKey es NULL.

Comentarios

Esta función descifra el secreto premaster, calcula el secreto maestro SSL y devuelve un identificador a este objeto al autor de la llamada. Esta clave maestra se puede usar para derivar la clave de sesión SSL y finalizar el protocolo de enlace SSL.

Nota

Esta función se usa cuando se usa el algoritmo de intercambio de claves RSA . Cuando se usa DH , el código de servidor llama a SslGenerateMasterKey en su lugar.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
Sslprovider.h
Archivo DLL
Ncrypt.dll