次の方法で共有


ICertAdmin::GetRevocationReason メソッド (certadm.h)

GetRevocationReason メソッドは、証明書が取り消された理由を返します。 このメソッドは、最初に ICertAdmin インターフェイスで定義されました。

このメソッドを呼び出す前に、 IsValidCertificate メソッドを呼び出す必要があります。 詳細については、「解説」を参照してください。

構文

HRESULT GetRevocationReason(
  [out] LONG *pReason
);

パラメーター

[out] pReason

失効理由を受け取る変数へのポインター。

戻り値

C++

メソッドが成功した場合、メソッドは S_OKを返し、 pReason パラメーターは次の表に示す値のいずれかに設定されます。

メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

VB

証明書が取り消された理由を示す値を返します。 値には、次のいずれかの失効理由コードを指定できます (Wincrypt.h で定義されています)。
リターン コード 説明
CRL_REASON_UNSPECIFIED
失効の理由が指定されませんでした。
CRL_REASON_KEY_COMPROMISE
証明書で検証されたサブジェクトの秘密キーまたはその他の側面が侵害されていることが知られているか、疑われます。
CRL_REASON_CA_COMPROMISE
証明書で検証された CA の秘密キーまたはその他の側面が侵害されていることが知られているか、疑われます。
CRL_REASON_AFFILIATION_CHANGED
サブジェクトの名前または証明書内の他の情報は変更されましたが、秘密キーが侵害されたと疑われる原因はありません。
CRL_REASON_SUPERSEDED
証明書は置き換えられますが、秘密キーが侵害されたと疑われる原因はありません。
CRL_REASON_CESSATION_OF_OPERATION
証明書は発行された目的で不要になりましたが、秘密キーが侵害されたと疑われる原因はありません。
CRL_REASON_CERTIFICATE_HOLD
証明書が保留にされました。

解説

GetRevocationReason を呼び出す前に、IsValidCertificate メソッドを呼び出して証明書の処理を取得します。 GetRevocationReason を呼び出すには、この前の呼び出しから証明書処理CA_DISP_REVOKEDを受け取り、証明書が取り消されたことを示す必要があります。 IsValidCertificate を呼び出すと、失効理由を取得する証明書の ID が確立されます。

管理タスクでは DCOM を使用します。 以前のバージョンの Certadm.h で定義されているこのインターフェイス メソッドを呼び出すコードは、クライアントとサーバーの両方が同じ Windows オペレーティング システムを実行している限り、Windows ベースのサーバー上で実行されます。

// 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 );
}

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー certadm.h (Certsrv.h を含む)
Library Certidl.lib
[DLL] Certadm.dll

関連項目

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate