Méthode ICertAdmin2 ::GetCAProperty (certadm.h)

La méthode GetCAProperty récupère une valeur de propriété pour l’autorité de certification (CA). Cette méthode a d’abord été définie dans l’interface ICertAdmin .

Syntaxe

HRESULT GetCAProperty(
  [in]  const BSTR strConfig,
  [in]  LONG       PropId,
  [in]  LONG       PropIndex,
  [in]  LONG       PropType,
  [in]  LONG       Flags,
  [out] VARIANT    *pvarPropertyValue
);

Paramètres

[in] strConfig

Représente une chaîne de configuration valide pour l’autorité de certification sous la forme COMPUTERNAME\CANAME, où COMPUTERNAME est le nom réseau du serveur des services de certificats et CANAME est le nom commun de l’autorité de certification, tel qu’entré lors de l’installation des services de certificats. Pour plus d’informations sur le nom de la chaîne de configuration, consultez ICertConfig.

ImportantGetCAProperty n’efface pas le cache interne lorsque la chaîne de configuration est modifiée. Lorsque vous modifiez la chaîne de configuration de l’autorité de certification, vous devez instancier un nouvel objet ICertAdmin et appeler à nouveau cette méthode avec la nouvelle chaîne de configuration.
 

[in] PropId

Spécifie l’un des identificateurs de propriété suivants.

Valeur Signification
CR_PROP_ADVANCEDSERVER
Type de données de la propriété : Long

Spécifie si l’autorité de certification exécute Advanced Server.

CR_PROP_BASECRL
Type de données de la propriété : Binaire, indexé

Liste de révocation de certificats complète ou de base de l’autorité de certification.

CR_PROP_BASECRLPUBLISHSTATUS
Type de données de la propriété : long, indexé

Status de publication de la liste de révocation de certificats de base. Pour plus d’informations, consultez Remarques.

CR_PROP_CABACKWARDCROSSCERT
Type de données de la propriété : Binaire, indexé

Certificat croisé vers l’arrière. Un certificat croisé arrière est le certificat émis lors du renouvellement de l’autorité de certification à elle-même signé avec la nouvelle clé de l’autorité de certification. Le certificat croisé arrière a l’identificateur de clé d’autorité du nouveau certificat d’autorité de certification et l’identificateur de clé d’objet de l’ancien certificat d’autorité de certification.

S’applique uniquement aux autorités de certification racines.

CR_PROP_CABACKWARDCROSSCERTSTATE
Type de données de la propriété : long, indexé

Indique si le certificat croisé vers l’arrière est valide. Valide uniquement pour les autorités de certification racines.

CR_PROP_CACERTSTATE
Type de données de la propriété : Long

État du certificat d’autorité de certification. Les valeurs peuvent être les suivantes :

  • CA_DISP_REVOKED
  • CA_DISP_VALID
  • CA_DISP_INVALID
CR_PROP_CACERTSTATUSCODE
Type de données de la propriété : long, indexé

État du certificat d’autorité de certification, en tant que HRESULT.

CR_PROP_CACERTVERSION
Type de données de la propriété : long, indexé

Version du certificat d’autorité de certification, en tant que DWORD. Le mot d’ordre élevé est l’index de clé, et le mot de bas ordre est l’index de certificat d’autorité de certification.

CR_PROP_CAFORWARDCROSSCERT
Type de données de la propriété : Binaire, indexé

Certificat croisé avant. Un certificat croisé avant est un certificat émis lors du renouvellement de l’autorité de certification à elle-même signé avec la clé précédente de l’autorité de certification. Le certificat croisé avant a l’identificateur de clé d’autorité du certificat d’autorité de certification précédent et l’identificateur de clé d’objet du nouveau certificat d’autorité de certification.

S’applique uniquement aux autorités de certification racines.

CR_PROP_CAFORWARDCROSSCERTSTATE
Type de données de la propriété : long, indexé

Indique si le certificat croisé avant est valide. Valide uniquement pour les autorités de certification racines.

CR_PROP_CANAME
Type de données de la propriété : String

Nom de l’autorité de certification.

CR_PROP_CASIGCERT
Type de données de la propriété : Binaire, indexé

Certificat de signature de l’autorité de certification.

CR_PROP_CASIGCERTCHAIN
Type de données de la propriété : Binaire, indexé

Chaîne de certificats de signature d’autorité de certification.

CR_PROP_CASIGCERTCOUNT
Type de données de la propriété : Long

Nombre de certificats de signature pour l’autorité de certification.

CR_PROP_CASIGCERTCRLCHAIN
Type de données de la propriété : Binaire, indexé

Chaîne de liste de révocation de certificats de signature de l’autorité de certification.

CR_PROP_CATYPE
Type de données de la propriété : Long

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
CR_PROP_CAXCHGCERT
Type de données de la propriété : Binaire, indexé

Certificat d’échange d’autorité de certification.

CR_PROP_CAXCHGCERTCHAIN
Type de données de la propriété : Binaire, indexé

Chaîne de certificats d’échange d’autorité de certification.

CR_PROP_CAXCHGCERTCOUNT
Type de données de la propriété : Long

Nombre de certificats d’échange pour l’autorité de certification.

CR_PROP_CAXCHGCERTCRLCHAIN
Type de données de la propriété : Binaire, indexé

Chaîne de révocation de certificats exchange de l’autorité de certification.

CR_PROP_CERTAIAURLS
Type de données de la propriété : String, indexed

Spécifie les URL d’accès aux informations d’autorité comme type d’URL demandé par un client.

Windows Server 2003 : Cet indicateur n’est pas pris en charge.

CR_PROP_CERTCDPURLS
Type de données de la propriété : String, indexed

Spécifie les URL du point de distribution de liste de révocation de certificats comme type d’URL demandé par un client.

Windows Server 2003 : Cet indicateur n’est pas pris en charge.

CR_PROP_CRLSTATE
Type de données de la propriété : Long

État de la liste de révocation de certificats de l’autorité de certification. Les valeurs peuvent être les suivantes :

  • CA_DISP_REVOKED
  • CA_DISP_VALID
  • CA_DISP_INVALID
  • CA_DISP_ERROR
CR_PROP_DELTACRL
Type de données de la propriété : Binaire, indexé

Liste de révocation de certificats delta de l’autorité de certification.

CR_PROP_DELTACRLPUBLISHSTATUS
Type de données de la propriété : long, indexé

Publication de la liste de révocation de certificats delta status. Pour plus d’informations, consultez Remarques.

CR_PROP_DNSNAME
Type de données de la propriété : String

Nom DNS de l’autorité de certification.

CR_PROP_EXITCOUNT
Type de données de la propriété : Long

Nombre de modules de sortie utilisés par l’autorité de certification.

CR_PROP_EXITDESCRIPTION
Type de données de la propriété : String

Description du module de sortie.

CR_PROP_FILEVERSION
Type de données de la propriété : String

Version du fichier Des services de certificats.

CR_PROP_KRACERT
Type de données de la propriété : Binaire, indexé

Certificat KRA (Key Recovery Agent) de l’autorité de certification.

CR_PROP_KRACERTCOUNT
Type de données de la propriété : Long

Nombre de certificats KRA pour l’autorité de certification.

CR_PROP_KRACERTSTATE
Type de données de la propriété : long, indexé

État du certificat KRA. La valeur de retour est l'une des suivantes :

  • KRA_DISP_EXPIRED
  • KRA_DISP_NOTFOUND
  • KRA_DISP_REVOKED
  • KRA_DISP_VALID
  • KRA_DISP_UNTRUSTED
  • KRA_DISP_NOTLOADED
  • KRA_DISP_INVALID
CR_PROP_KRACERTUSEDCOUNT
Type de données de la propriété : Long

Nombre de certificats KRA utilisés par l’autorité de certification.

CR_PROP_PARENTCA
Type de données de la propriété : String

Nom de l’autorité de certification parente de l’autorité de certification.

CR_PROP_POLICYDESCRIPTION
Type de données de la propriété : String

Description du module de stratégie.

CR_PROP_PRODUCTVERSION
Type de données de la propriété : String

Version du produit dans laquelle le fichier a été expédié.

CR_PROP_ROLESEPARATIONENABLED
Type de données de la propriété : Long

Valeur spécifiant si la séparation des rôles est activée.

CR_PROP_SANITIZEDCANAME
Type de données de la propriété : String

Nom nettoyé de l’autorité de certification. Pour obtenir la définition d’un nom d’autorité de certification assainie, consultez ICertConfig2 ::GetConfig.

CR_PROP_SANITIZEDCASHORTNAME
Type de données de la propriété : String

Nom court aseptisé de l’autorité de certification. Pour obtenir une définition d’un nom court d’autorité de certification assainie, consultez ICertConfig2 ::GetConfig.

CR_PROP_SHAREDFOLDER
Type de données de la propriété : String

Nom du répertoire du dossier partagé.

CR_PROP_TEMPLATES
Type de données de la propriété : String

Liste des modèles pris en charge par l’autorité de certification.

[in] PropIndex

Si le paramètre PropId est indexé, index de base zéro à utiliser lors de la récupération de la valeur de propriété. Si PropId n’est pas indexé, cette valeur est ignorée.

[in] PropType

Spécifie le type de la propriété, indiqué dans la colonne Meaning de la table PropId . Le type peut être l’un des types suivants.

Valeur Signification
PROPTYPE_LONG
Données longues signées
PROPTYPE_DATE
Date/heure (réservée pour une utilisation ultérieure)
PROPTYPE_BINARY
Données binaires
PROPTYPE_STRING
Données de chaîne Unicode

[in] Flags

Les indicateurs suivants peuvent être utilisés pour spécifier le format de la valeur de propriété retournée : Ces indicateurs ont une signification uniquement pour les données binaires (telles que les certificats, les chaînes de certificats ou les listes de révocation de certificats) et sont ignorés dans le cas contraire.

Valeur Signification
CV_OUT_BASE64
BASE64 sans BEGIN/END
CV_OUT_BASE64HEADER
BASE64 avec BEGIN CERTIFICATE et END CERTIFICATE
CV_OUT_BASE64REQUESTHEADER
BASE64 avec BEGIN NEW CERTIFICATE REQUEST et END NEW CERTIFICATE REQUEST
CV_OUT_BASE64X509CRLHEADER
BASE64 avec la liste de révocation de certificats BEGIN X509 et END X509 CRL
CV_OUT_BINARY
Binary
CV_OUT_HEX
Chaîne hexadécimale
CV_OUT_HEXADDR
Chaîne hexadécimale avec adresse/décalage
CV_OUT_HEXASCII
Chaîne hexadécimale avec ASCII
CV_OUT_HEXASCIIADDR
Chaîne hexadécimale avec ASCII et address/offset

[out] pvarPropertyValue

Pointeur vers une mémoire tampon qui reçoit la valeur de propriété demandée. Il est de la responsabilité de l’appelant de libérer cette ressource lorsqu’elle est effectuée en appelant VariantClear.

Valeur retournée

C++

La valeur de retour est HRESULT. La valeur S_OK indique que la méthode a réussi.

VB

Valeur de propriété demandée.

Remarques

Les valeurs suivantes sont retournées lorsque l’identificateur de propriété est CR_PROP_BASECRLPUBLISHSTATUS ou CR_PROP_DELTACRLPUBLISHSTATUS. Ces valeurs peuvent être combinées.

Valeur Description
CPF_BADURL_ERROR Une URL n’est pas valide.
CPF_BASE Une liste de révocation de certificats de base a été publiée.
CPF_CASTORE_ERROR Une erreur de magasin d’autorité de certification a empêché la publication.
CPF_COMPLETE Une liste de révocation de certificats complète a été publiée.
CPF_DELTA Une liste de révocation de certificats delta a été publiée.
CPF_FILE_ERROR Une erreur de fichier a empêché la publication.
CPF_FTP_ERROR Une erreur FTP a empêché la publication.
CPF_HTTP_ERROR Une erreur HTTP a empêché la publication.
CPF_LDAP_ERROR Une erreur LDAP a empêché la publication.
CPF_MANUAL Une liste de révocation de certificats a été publiée manuellement.
CPF_SHADOW Une liste de révocation de certificats delta vide a été publiée, ainsi qu’une nouvelle liste de révocation de certificats BASE.
CPF_SIGNATURE_ERROR Une erreur de signature a empêché la publication.
 

Pour obtenir un exemple de récupération d’une liste de révocation de certificats, consultez Récupération d’une liste de révocation de certificats.

Exemples

L’exemple suivant montre comment récupérer le certificat de signature de l’autorité de certification. L’exemple suppose que le pointeur d’interface ICertAdmin2 est valide.

BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;

bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
    printf("Failed to allocate memory for bstrCA\n");
    exit(1);
}

VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
                                CR_PROP_CASIGCERT,
                                0,
                                PROPTYPE_BINARY,
                                CV_OUT_BASE64HEADER,
                                &var1);
if (FAILED(hr))
{
    printf("Failed GetCAProperty\n");
    SysFreeString(bstrCA);
    exit(1);  // Or other error action.
}

// Use the property as needed.
// ...

// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);

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 certadm.h (include Certsrv.h)
Bibliothèque Certidl.lib
DLL Certadm.dll