Función SslExportKeyingMaterial

Exporta material de clave por el estándar RFC 5705. Esta función usa la función pseudoaleatorio TLS para generar un búfer de bytes del material de creación de claves. Toma una referencia al secreto maestro, la etiqueta ASCII desambiguación, los valores aleatorios de cliente y servidor y, opcionalmente, los datos de contexto de la aplicación.

Sintaxis

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

Parámetros

hSslProvider [in]

Identificador de la instancia del proveedor de protocolo TLS.

hMasterKey [in]

Identificador del objeto de clave maestra que se usará para crear el material de creación de claves que se exportará.

sLabel [in]

una cadena de etiqueta ASCII terminada en NUL. Schannel quitará el carácter NUL de terminación antes de pasarlo a la función pseudoaleatoria.

pbRandoms [in]

Puntero a un búfer que contiene una concatenación del client_random y server_random valores de la conexión TLS.

cbRandoms [in]

Longitud, en bytes, del búfer pbRandoms .

pbContextValue [in, optional]

Puntero a un búfer que contiene el contexto de la aplicación. Si pbContextValue es NULL, cbContextValue debe ser cero.

cbContextValue [in]

Longitud, en bytes, del búfer pbContextValue .

pbOutput [out]

Dirección de un búfer que recibe el material de keying exportado. El parámetro cbOutput contiene el tamaño de este búfer. Este valor no puede ser NULL.

cbOutput [in]

Longitud, en bytes, del búfer pbOutput . Debe ser mayor que cero.

dwFlags [in]

No se usa. Debe establecerse en cero.

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_INVALID_HANDLE
0x80090026L
Uno de los identificadores proporcionados no es válido.

Requisitos

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