Partager via


Méthode ICertServerPolicy ::GetCertificateExtension (certif.h)

La méthode GetCertificateExtension récupère une extension de certificat spécifique.

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’une des valeurs suivantes.

Valeur Signification
PROPTYPE_LONG
Données longues signées
PROPTYPE_DATE
Date/heure
PROPTYPE_BINARY
La valeur de l’extension est récupérée telle quelle et est encodée en ASN.1 si nécessaire.
PROPTYPE_STRING
La valeur d’extension est encodée en 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 le paramètre pvarValue 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

La méthode SetContext doit être appelée avant d’appeler cette méthode. L’appel à SetContext spécifie quelle requête est utilisée comme contexte actuel.

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 à la demande. Certaines de ces propriétés sont encodées dans le certificat (par exemple, BeginDate), tandis que d’autres sont simplement utilisées pour marquer les demandes 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.

Exemples

VARIANT    varExt;
HRESULT    hr;

VariantInit(&varExt);
// Get the Extension value.
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->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

Condition requise Valeur
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

ICertServerPolicy

ICertServerPolicy ::GetCertificateExtensionFlags

ICertServerPolicy ::SetContext