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

La méthode SetCertificateExtension ajoute une nouvelle extension au certificat.

Syntaxe

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

Paramètres

[in] strExtensionName

Spécifie l’identificateur d’objet (OID) pour l’extension à définir. La chaîne doit contenir au moins 31 caractères non-ulls.

[in] Type

Spécifie le type d’extension défini. Le paramètre Type doit être en accord avec le type de données pvarValue défini dans le champ vt de la structure VARIANT . Le paramètre Type peut être défini sur 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 définie telle quelle et est supposée être encodée ASN.1 si nécessaire.
PROPTYPE_STRING
La valeur d’extension est encodée en ASN.1 en tant que chaîne IA5 avant d’être placée dans le nouveau certificat.
Note Vous devez utiliser PROPTYPE_STRING pour une valeur d’extension qui se compose d’une seule URL uniquement si vous souhaitez que l’URL soit automatiquement encodée en tant que chaîne IA5. Sinon, encodez vous-même l’URL en tant que chaîne IA5 et transmettez la valeur encodée en tant que PROPTYPE_BINARY.
 

[in] ExtFlags

Spécifie les indicateurs de l’extension en cours de définition. Utilisez la valeur zéro si aucun indicateur ne doit être défini, ou utilisez l’une des valeurs d’indicateur suivantes. Vous pouvez joindre ces indicateurs ensemble à l’aide de l’opérateur OR , et vous pouvez également les joindre à l’aide de l’opérateur OR avec des indicateurs d’extension privée de stratégie (les 8 bits élevés du champ EXTENSION_POLICY_MASK).

Note Lorsque ExtFlags est défini sur EXTENSION_DISABLE_FLAG, l’extension est désactivée dans le journal du serveur et n’est pas ajoutée au certificat.
 
Valeur Signification
EXTENSION_CRITICAL_FLAG
Il s’agit d’une extension critique.
EXTENSION_DISABLE_FLAG
L’extension ne sera pas utilisée.

[in] pvarValue

Spécifie la valeur associée à l’extension. Notez que le type VARIANT de la valeur doit être en accord avec le paramètre Type , comme indiqué dans le tableau suivant.

Valeur Signification
PROPTYPE_LONG
VT_I4
PROPTYPE_DATE
VT_DATE
PROPTYPE_BINARY
VT_BSTR
PROPTYPE_STRING
VT_BSTR

Valeur retournée

VB

Si la méthode réussit, la méthode retourne S_OK.

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.

Remarques

Utilisez des extensions pour inclure des informations supplémentaires avec le certificat, telles que des informations supplémentaires sur l’objet ou l’utilisation. Pour plus d’informations, consultez Gestionnaires d’extensions.

Appelez la méthode SetCertificateExtension à partir de votre implémentation de la méthode ICertPolicy2 ::VerifyRequest . Vous devez appeler la méthode ICertServerPolicy ::SetContext avant d’appeler la méthode SetCertificateExtension .

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 ::SetContext