Partager via


MÉTHODE ICEnroll ::get_HashAlgorithm (xenroll.h)

[Cette propriété n’est plus disponible depuis Windows Server 2008 et Windows Vista.]

La propriété HashAlgorithm définit ou récupère uniquement l’algorithme de hachage de signature utilisé pour signer la demande de certification PKCS #10.

Cette propriété a d’abord été définie dans l’interface ICEnroll .

Cette propriété est en lecture/écriture.

Syntaxe

HRESULT get_HashAlgorithm(
  BSTR *pbstr
);

Paramètres

pbstr

Valeur de retour

None

Remarques

Cet algorithme de hachage de signature ne doit pas être confondu avec l’algorithme de hachage utilisé pour signer le certificat. Le contrôle d’inscription prend actuellement en charge n’importe quel OID pour les algorithmes de hachage, ainsi que les valeurs de nom d’affichage suivantes : SHA1 (valeur par défaut), MD2 et MD5. Lors de la récupération de cette propriété, la valeur récupérée est au format OID (autrement dit, SHA1 apparaît sous la forme 1.3.14.3.2.29). Lors de la définition de cette propriété, le format OID correspondant peut être utilisé comme alternative au texte affiché pour les valeurs conviviales définies.

Le contrôle d’inscription de certificat considère la valeur de la propriété HashAlgorithm comme un indicateur de l’algorithme de hachage à utiliser pour signer la demande de certification PKCS #10. Si le fournisseur de services de chiffrement (CSP) prend en charge l’algorithme spécifié dans la propriété HashAlgorithm , l’algorithme est utilisé. Sinon, le contrôle d’inscription de certificat essaiera d’utiliser SHA1. Si SHA1 n’est pas pris en charge par le fournisseur de solutions Cloud, MD5 est essayé. Si ni SHA1 ni MD5 n’est pris en charge, le contrôle d’inscription de certificat tente d’utiliser le premier algorithme de hachage retourné par le fournisseur de solutions Cloud.

La propriété HashAlgorithm affecte le comportement des méthodes suivantes :

Si les propriétés HashAlgID et HashAlgorithm sont définies, la dernière mise à jour spécifie l’algorithme de hachage qui sera utilisé pour signer la demande de certification PKCS #10.

Exemples

BSTR     bstrHashAlg = NULL;
HRESULT  hr;

// get the hash algorithm
hr = pEnroll->get_HashAlgorithm( &bstrHashAlg );
if ( FAILED ( hr ) )
    printf("Failed get_HashAlgorithm - %x\n", hr );
else
    printf( "HashAlgorithm: %ws\n", bstrHashAlg );
// free BSTR
if ( NULL != bstrHashAlg )
    SysFreeString( bstrHashAlg);

BSTR    bstrMyHashAlg = SysAllocString(TEXT("MD5"));
// alternatively, ... = SysAllocString(TEXT("1.2.840.113549.1.1.4"));

// set the hash algorithm
hr = pEnroll->put_HashAlgorithm( bstrMyHashAlg );
if ( FAILED ( hr ) )
    printf("Failed put_HashAlgorithm - %x\n", hr );
else
    printf( "HashAlgorithm was set to %ws\n", bstrMyHashAlg );
// free BSTR
if ( NULL != bstrMyHashAlg )
    SysFreeString( bstrMyHashAlg);

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête xenroll.h
Bibliothèque Uuid.lib
DLL Xenroll.dll