Partilhar via


Função SslImportMasterKey

A função SslImportMasterKey executa uma operação de troca de chaves SSL ( protocolo SSL) do lado do servidor.

Sintaxe

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]

O identificador para a instância do provedor de protocolo SSL.

hPrivateKey [in]

O identificador para a chave privada usada na troca.

phMasterKey [out]

Um ponteiro para o identificador para receber a chave master.

dwProtocol [in]

Um dos valores do Identificador de Protocolo do Provedor de SSL do CNG .

dwCipherSuite [in]

Um dos valores de Identificadores do Pacote de Criptografia do Provedor de SSL do CNG .

pParameterList [in]

Um ponteiro para uma matriz de buffers NCryptBuffer que contêm informações usadas como parte da operação de troca de chaves. O conjunto preciso de buffers depende do protocolo e do conjunto de criptografia usados. No mínimo, a lista conterá buffers que contêm os valores aleatórios fornecidos pelo cliente e pelo servidor.

pbEncryptedKey [in]

Um ponteiro para um buffer que contém a chave secreta de pré-mestre criptografada criptografada com a chave pública do servidor.

cbEncryptedKey [in]

O tamanho, em bytes, do buffer pbEncryptedKey .

dwFlags [in]

Defina esse parâmetro como NCRYPT_SSL_SERVER_FLAG para indicar que essa é uma chamada de servidor.

Valor retornado

Se a função for bem-sucedida, ela retornará zero.

Se a função falhar, ela retornará um valor de erro diferente de zero.

Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.

Retornar código/valor Descrição
NTE_NO_MEMORY
0x8009000EL
Não há memória suficiente disponível para alocar buffers necessários.
NTE_INVALID_HANDLE
0x80090026L
Um dos identificadores fornecidos não é válido.
NTE_INVALID_PARAMETER
0x80090027L
O parâmetro phMasterKey é NULL.

Comentários

Essa função descriptografa o segredo do premaster, calcula o segredo master SSL e retorna um identificador para esse objeto para o chamador. Essa chave master pode ser usada para derivar a chave de sessão SSL e concluir o handshake SSL.

Observação

Essa função é usada quando o algoritmo de troca de chaves RSA está sendo usado. Quando o DH é usado, o código do servidor chama SslGenerateMasterKey .

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Sslprovider.h
DLL
Ncrypt.dll