Méthode ICertServerExit::GetCertificateProperty (certif.h)
La méthode GetCertificateProperty retourne une propriété nommée à partir d’un certificat.
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. Les autres propriétés qui peuvent être récupérées incluent les propriétés de certificat.
Les propriétés suivantes sont propres aux certificats et peuvent être lues par GetCertificateProperty.
Valeur | Signification |
---|---|
|
Date de validité de début du certificat |
|
Date d’expiration du certificat |
|
Identificateur d’objet de l’algorithme de clé d’objet (OID) |
|
Octets de certificat bruts |
|
Clé d’objet |
|
Paramètres de l’algorithme de clé d’objet |
|
ID de requête interne |
|
Numéro de série du certificat |
Les propriétés DistinguishedName, RawName et SerialNumber du certificat sont accessibles par GetCertificateProperty uniquement une fois que le module de stratégie a terminé le traitement de la demande et que le certificat est émis.
Les propriétés suivantes s’appliquent à l’autorité de certification. Le contexte doit être égal à zéro pour lire l’une de ces propriétés. Le contexte est défini sur zéro lors de la création initiale de l’objet ICertServerExit . Il peut également être défini sur zéro en appelant la méthode SetContext .
Valeur | Signification |
---|---|
|
Type d’autorité de certification. Il peut s’agir de l’une des valeurs suivantes (définies dans Certsrv.h) : ENUM_ENTERPRISE_ROOTCA ENUM_ENTERPRISE_SUBCA ENUM_STANDALONE_ROOTCA ENUM_STANDALONE_SUBCA |
|
Nombre de certificats d’autorité de certification. Cette valeur est une plus le nombre de fois où l’autorité de certification a été renouvelée. Pour plus d’informations sur le renouvellement, consultez Renouvellement de l’autorité de 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é 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. |
|
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 CRL. L’index de liste de révocation de certificats ne correspond pas nécessairement à l’index de certificat. Pour plus d’informations, consultez 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. |
|
État de la 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 pointant 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é à « .# », 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. |
|
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é à « .# », 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. |
|
Liste de révocation de certificats (CRL) de l’autorité de 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. |
|
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 nettoyés, consultez ICertConfig::GetConfig. |
|
Nom assainissant pour l’autorité de certification, raccourci et contenant une valeur de hachage pour garantir l’unicité. |
[in] PropertyType
Spécifie le type de propriété. Le type peut être l’un des suivants.
Valeur | Signification |
---|---|
|
Données longues signées |
|
Date/Heure |
|
Données binaires |
|
Données de chaîne Unicode |
[out] pvarPropertyValue
Pointeur vers un VARIANT qui contiendra la valeur de propriété. La valeur retournée est encodée en tant que BSTR. Utilisez la fonction SysStringByteLen pour récupérer la longueur du BSTR. L’objet BLOB binaire est stocké sous la forme d’un certificat X.509 codé Distinguished Encoding Rules.
Valeur retournée
C++
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.
VB
La valeur de retour est la valeur de propriété demandée.Remarques
Vous devez appeler ICertServerExit::SetContext avant d’utiliser cette méthode.
Exemples
BSTR bstrPropName = NULL;
VARIANT varProp;
VariantInit(&varProp);
// Set the property name to RequestID.
bstrPropName = SysAllocString(L"RequestID");
// Retrieve the certificate property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateProperty(bstrPropName,
PROPTYPE_LONG,
&varProp );
if (FAILED(hr))
{
printf("Failed GetCertificateProperty [%x]\n", hr);
goto error;
}
else
{
// Successfully retrieved property; use varProp as needed.
// ...
}
// Done processing.
if (NULL != bstrPropName)
SysFreeString(bstrPropName);
VariantClear(&varProp);
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 |