Partager via


ICertServerExit::GetCertificateExtension, méthode (certif.h)

La méthode GetCertificateExtension obtient une extension de certificat spécifiée.

Notez que les extensions de certificat sont distinctes des propriétés de certificat. Les propriétés sont des données génériques attachées à l’objet de requête. Certaines de ces propriétés sont encodées dans le certificat (exemple : BeginDate), tandis que d’autres sont simplement utilisées pour marquer les requêtes dans la file d’attente et le journal. Les extensions qui ne sont pas désactivées sont encodées dans le certificat. Les extensions sont toujours marquées avec un identificateur d’objet et ont toujours un indicateur critique/non critique.

Syntaxe

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

Paramètres

[in] strExtensionName

Chaîne qui contient le nom de l’extension.

[in] Type

Spécifie le type de l'extension. Le type peut être l’un des types suivants.

Valeur Signification
PROPTYPE_LONG
Données longues signées
PROPTYPE_DATE
Date/Heure
PROPTYPE_BINARY
La valeur d’extension est récupérée telle quelle et est encodée ASN.1 si nécessaire.
PROPTYPE_STRING
La valeur de l’extension est ENCODÉE ASN.1 sous la forme d’une chaîne IA5.

[out] pvarValue

Pointeur vers un VARIANT qui reçoit la valeur d’extension demandée.

Valeur retournée

C++

Si la méthode réussit, la méthode retourne S_OK, et *pvarValue a la valeur VARIANT qui contient la valeur d’extension.

Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

VB

La valeur de retour est la valeur d’extension demandée.

Remarques

Vous devez appeler ICertServerExit::SetContext avant d’utiliser cette méthode.

Exemples

VARIANT  varExt;
HRESULT  hr;

VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateExtension(bstrExtName,
                                              PROPTYPE_BINARY,
                                              &varExt);

if (FAILED(hr))
{
    printf("Failed GetCertificateExtension [%x]\n", hr);
    goto error;
}
// Successful call; Use the value in varExt as needed.
// ...

// When done, clear the Variant
VariantClear(&varExt);

Configuration requise

   
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certif.h (include Certsrv.h)
Bibliothèque Certidl.lib
DLL Certcli.dll

Voir aussi

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext