Fonction SslComputeClientAuthHash

La fonction SslComputeClientAuthHash calcule un hachage à utiliser lors de l’authentification par certificat .

Syntaxe

SECURITY_STATUS WINAPI SslComputeClientAuthHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hMasterKey,
  _In_  NCRYPT_HASH_HANDLE hHandshakeHash,
  _In_  LPCWSTR            pszAlgId,
  _Out_ PBYTE              pbOutput,
  _In_  DWORD              cbOutput,
  _Out_ DWORD              *pcbResult,
  _In_  DWORD              dwFlags
);

Paramètres

hSslProvider [in]

Handle du fournisseur de protocole SSL (Secure Sockets Layer Protocol) instance.

hMasterKey [in]

Handle de l’objet clé master.

hHandshakeHash [in]

Handle du hachage de la négociation calculée jusqu’à présent.

pszAlgId [in]

Pointeur vers une chaîne Unicode terminée par null qui identifie l’algorithme de chiffrement demandé. Il peut s’agir de l’un des identificateurs d’algorithme CNG standard ou de l’identificateur d’un autre algorithme inscrit.

pbOutput [out]

Adresse d’une mémoire tampon qui reçoit l’objet BLOB de clé. Le paramètre cbOutput contient la taille de cette mémoire tampon. Si ce paramètre a la valeur NULL, cette fonction place la taille requise, en octets, dans le DWORD pointé par le paramètre pcbResult .

cbOutput [in]

Longueur, en octets, de la mémoire tampon pbOutput .

pcbResult [out]

Pointeur vers une valeur DWORD qui spécifie la longueur, en octets, du hachage écrit dans la mémoire tampon pbOutput .

dwFlags [in]

Ce paramètre est réservé à un usage futur.

Valeur retournée

Si la fonction réussit, elle retourne zéro.

Si la fonction échoue, elle retourne une valeur d’erreur différente de zéro.

Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.

Code/valeur de retour Description
NTE_INVALID_HANDLE
0x80090026L
L’un des handles fournis n’est pas valide.

Notes

La fonction SslComputeClientAuthHash calcule le hachage qui est envoyé dans le message de vérification du certificat de l’établissement de liaison SSL. La valeur de hachage est calculée en créant un hachage qui contient le secret master avec un hachage de tous les messages de négociation précédents envoyés ou reçus.

La façon dont le hachage est calculé dépend du protocole et de la suite de chiffrement utilisés. En outre, le hachage dépend du type de clé d’authentification client utilisée ; le paramètre pszAlgId indique le type de clé utilisé pour l’authentification du client.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]
En-tête
Sslprovider.h
DLL
Ncrypt.dll