ICertServerPolicy::GetCertificateProperty, méthode (certif.h)
La méthode GetCertificateProperty retourne une propriété nommée à partir d’un certificat.
Vous devez appeler ICertServerPolicy::SetContext avant d’utiliser cette méthode.
Syntaxe
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
Paramètres
[in] strPropertyName
Spécifie la propriété nommée à récupérer. Il existe un ensemble stock de propriétés de certificat, appelées propriétés de nom, qui sont toujours valides et peuvent être récupérées en appelant cette méthode. Pour plus d’informations sur ces propriétés, consultez Propriétés du nom. D’autres propriétés en regard des propriétés de nom peuvent également être récupérées.
Les propriétés DistinguishedName et RawName du certificat sont accessibles par ICertServerExit::GetCertificateProperty uniquement une fois que le module de stratégie a terminé de traiter la demande et que le certificat est émis. Les propriétés DistinguishedName et RawName du certificat émis peuvent également être lues par un module de sortie à l’aide de ICertServerExit::GetCertificateProperty.
Il existe des propriétés de certificat supplémentaires qui ne sont pas accessibles par GetCertificateProperty. Ces propriétés ne sont définies qu’après que le module de stratégie a retourné VR_INSTANT_OK et que le certificat a été émis. Pour obtenir la liste complète de toutes les propriétés d’un certificat émis, consultez GetCertificateProperty.
Les propriétés suivantes sont propres aux certificats et peuvent être lues par GetCertificateProperty.
Propriété certificate | Signification |
---|---|
|
ID de requête interne |
|
Date de validité de début du certificat |
|
Date d’expiration du certificat |
|
Clé d’objet |
|
ID d’objet de l’algorithme de clé d’objet (OID) |
|
Paramètres de l’algorithme de clé d’objet |
|
GénéralFlags dans la demande d’inscription. Il s’agit d’un OR au niveau du bit de valeurs. La seule valeur intéressante doit être la valeur d’indicateur de 0x00000400, qui indique à l’autorité de certification de ne pas conserver la demande dans la base de données. Si l’autorité de certification est en mode sans base de données (autrement dit, pour Windows Server 2008 R2 et les autorités de certification ultérieures, la base de données de l’autorité de certification a l’indicateur DBFLAGS_ENABLEVOLATILEREQUESTS défini), utilisez certutil -getreg DbFlags et certutil -setreg DBFlags pour configurer l’autorité de certification en mode sans base de données.
Windows Vista et Windows Storage Server 2003 : Ce champ n’est pas pris en charge. |
|
Pour les demandes de renouvellement, retourne le nom du compte du demandeur (par exemple, contoso\requester). |
Les propriétés suivantes s’appliquent à l’autorité de certification.
Propriété de l’autorité de certification | Signification |
---|---|
|
Type d’autorité de certification. Il peut s’agir de l’une des valeurs suivantes (définies dans Certsrv.h) :
|
|
Nombre de certificats d’autorité de certification. Cette valeur est une plus le nombre de fois que l’autorité de certification a été renouvelée. Pour plus d’informations sur le renouvellement, consultez Certification. |
|
État du certificat d’autorité de certification. Il peut s’agir de l’une des valeurs suivantes :
|
|
Suffixe du certificat d’autorité de certification. Le suffixe est une chaîne vide pour les certificats d’autorité de certification avec un index de zéro ; sinon, le suffixe (sous la forme « (nn) », où nn est l’index de certificat) est appliqué à toutes les URL qui pointent vers des certificats d’autorité de certification stockés dans des fichiers ou des objets de service d’annuaire. Pour les URL non LDAP , le suffixe apparaît généralement avant le texte « .crt ». Pour les URL LDAP, le suffixe est généralement ajouté au premier « CN= » dans le nom unique complet.
Ce nom de propriété peut être ajouté à « .# », où # représente un index de certificat d’autorité de certification (ou, dans le cas de la propriété CRLSuffix, un index de liste de révocation de certificats). Pour plus d’informations sur les indices de certificat et de liste de révocation de certificats, consultez Renouvellement de l’autorité de certification. |
|
Index de liste de révocation de certificats (CRL). L’ajout d’un index de certificat à ce nom de propriété vous permet de récupérer l’index de liste de révocation de certificats. L’index de liste de révocation de certificats ne correspond pas nécessairement à l’index du certificat. Pour plus d’informations, consultez Certification.
Ce nom de propriété peut être ajouté à « .# », où # représente un index de certificat d’autorité de certification (ou, dans le cas de la propriété CRLSuffix, un index de liste de révocation de certificats). Pour plus d’informations sur les indices de certificat et de liste de révocation de certificats, consultez Renouvellement de l’autorité de certification. |
|
État de liste de révocation de certificats. Il peut s’agir de l’une des valeurs suivantes :
|
|
Suffixe de la liste de révocation de certificats d’autorité de certification. Le suffixe est une chaîne vide pour les listes de contrôle d’accès avec un index de zéro ; sinon, le suffixe (sous la forme « (nn) », où nn est l’index de liste de révocation de certificats) est appliqué à toutes les URL qui pointent vers des listes de contrôle d’accès stockées dans des fichiers ou des objets de service d’annuaire. Pour les URL non LDAP, le suffixe apparaît généralement avant le texte .crl. Pour les URL LDAP, le suffixe est généralement ajouté au premier « CN= » dans le nom unique complet.
Ce nom de propriété peut être ajouté avec « .# », où # représente un index de certificat d’autorité de certification (ou, dans le cas de la propriété CRLSuffix, un index CRLS). Pour plus d’informations sur les index de certificat et de liste de révocation de révocation de certificats, consultez Renouvellement de l’autorité de certification. |
|
Indique si l’autorité de certification utilise un service d’annuaire. Il peut s’agir de l’une des valeurs suivantes :
|
|
Nom DNS du serveur hébergeant l’autorité de certification. |
|
Emplacement du Registre disponible pour l’utilisation par le module. |
|
Certificat d’autorité de certification.
Ce nom de propriété peut être ajouté avec « .# », où # représente un index de certificat d’autorité de certification (ou, dans le cas de la propriété CRLSuffix, un index CRLS). Pour plus d’informations sur les index de certificat et de liste de révocation de révocation de certificats, consultez Renouvellement de l’autorité de certification. |
|
Liste de révocation de certificats (CRL) de l’autorité de certification.
Ce nom de propriété peut être ajouté avec « .# », où # représente un index de certificat d’autorité de certification (ou, dans le cas de la propriété CRLSuffix, un index CRLS). Pour plus d’informations sur les index de certificat et de liste de révocation de révocation de certificats, consultez Renouvellement de l’autorité de certification. |
|
Indique si le demandeur est autorisé à demander le certificat. Il peut s’agir de l’une des valeurs suivantes :
|
|
Nom aseptisé de l’autorité de certification. Pour plus d’informations sur les noms d’autorité de certification assainie, consultez ICertConfig::GetConfig. |
|
Nom aseptisé de l’autorité de certification, qui est raccourci et qui contient une valeur de hachage pour garantir l’unicité. |
[in] PropertyType
Spécifie le type de propriété. Le type peut être l’une des valeurs suivantes.
Type | Signification |
---|---|
|
Données longues signées |
|
Date/Heure |
|
Données binaires |
|
Données de chaîne Unicode |
[out] pvarPropertyValue
Pointeur vers VARIANT qui contiendra la valeur de la propriété.
Valeur retournée
Si la méthode réussit, la méthode retourne S_OK, et *pvarPropertyValue est défini sur le VARIANT qui contient la valeur de la propriété demandée.
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.
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 |