Partager via


Méthode ICertAdmin::GetRevocationReason (certadm.h)

La méthode GetRevocationReason retourne la raison pour laquelle un certificat a été révoqué. Cette méthode a d’abord été définie dans l’interface ICertAdmin .

Avant d’appeler cette méthode, vous devez appeler la méthode IsValidCertificate . Pour plus d'informations, consultez la section Notes.

Syntaxe

HRESULT GetRevocationReason(
  [out] LONG *pReason
);

Paramètres

[out] pReason

Pointeur vers une variable qui recevra le motif de révocation.

Valeur retournée

C++

Si la méthode réussit, la méthode retourne S_OK et le paramètre pReason est défini sur l’une des valeurs répertoriées dans le tableau suivant.

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

Retourne une valeur qui spécifie la raison pour laquelle le certificat a été révoqué. La valeur peut être l’un des codes de motif de révocation suivants (défini dans Wincrypt.h).
Code de retour Description
CRL_REASON_UNSPECIFIED
Aucune raison n’a été spécifiée pour la révocation.
CRL_REASON_KEY_COMPROMISE
Il est connu ou suspect que la clé privée du sujet ou d’autres aspects de l’objet validés dans le certificat sont compromis.
CRL_REASON_CA_COMPROMISE
On sait ou soupçonne que la clé privée de l’autorité de certification ou d’autres aspects de l’autorité de certification validés dans le certificat sont compromis.
CRL_REASON_AFFILIATION_CHANGED
Le nom de l’objet ou d’autres informations dans le certificat ont été modifiés, mais il n’y a pas de raison de soupçonner que la clé privée a été compromise.
CRL_REASON_SUPERSEDED
Le certificat a été remplacé, mais il n’y a pas de raison de soupçonner que la clé privée a été compromise.
CRL_REASON_CESSATION_OF_OPERATION
Le certificat n’est plus nécessaire aux fins pour lesquelles il a été émis, mais il n’y a pas de raison de soupçonner que la clé privée a été compromise.
CRL_REASON_CERTIFICATE_HOLD
Le certificat a été mis en attente.

Remarques

Avant d’appeler GetRevocationReason, appelez la méthode IsValidCertificate pour récupérer la disposition du certificat. Pour appeler GetRevocationReason, vous devez recevoir une CA_DISP_REVOKED de suppression de certificat de cet appel précédent, indiquant que le certificat a été révoqué. L’appel à IsValidCertificate établit l’identité du certificat dont vous souhaitez récupérer le motif de révocation.

Les tâches d’administration utilisent DCOM. Le code qui appelle cette méthode d’interface telle que définie dans une version antérieure de Certadm.h s’exécute sur les serveurs Windows tant que le client et le serveur exécutent le même système d’exploitation Windows.

Exemples

// The value for nDisp was set by 
// a call to ICertAdmin2::IsValidCertificate.
if (CA_DISP_REVOKED == nDisp)
{
    // Variable to contain revocation reason.
    long       nReason;

    // Retrieve the revocation reason.
    hr = pCertAdmin->GetRevocationReason(&nReason);
    if (FAILED(hr))
    {
        printf("Failed GetRevocationReason [%x]\n", hr);
        goto error;
    }
    else
        printf("Revocation reason = %d\n", nReason );
}

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

Voir aussi

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate