CryptVerifyCertificateSignature 関数 (wincrypt.h)
CryptVerifyCertificateSignature 関数は、CERT_PUBLIC_KEY_INFO構造の公開キーを使用して、証明書、証明書失効リスト (CRL)、または証明書要求の署名を検証します。 この関数では、 秘密キーへのアクセスは必要ありません。
構文
BOOL CryptVerifyCertificateSignature(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwCertEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[in] PCERT_PUBLIC_KEY_INFO pPublicKey
);
パラメーター
[in] hCryptProv
このパラメーターは使用されず、 NULL に設定する必要があります。
Windows Server 2003 および Windows XP: 署名の検証に使用される 暗号化サービス プロバイダー (CSP) へのハンドル。このパラメーターのデータ型は HCRYPTPROV です。
特定 の暗号化プロバイダーを渡す強い理由がない限り、NULL が渡されます。 NULL を渡すと、既定の RSA または DSS プロバイダーが取得されます。
[in] dwCertEncodingType
サブジェクトの暗号化に使用された 証明書エンコードの種類 。 この値の上位 WORD に含まれるメッセージ エンコード型識別子は、この関数では無視されます。
このパラメーターには、現在定義されている次の証明書エンコードの種類を指定できます。
値 | 意味 |
---|---|
|
X.509 証明書のエンコードを指定します。 |
[in] pbEncoded
署名を検証するCERT_SIGNED_CONTENT_INFOコンテンツのエンコードされた BLOB へのポインター。
[in] cbEncoded
pbEncoded でエンコードされたコンテンツのサイズ (バイト単位)。
[in] pPublicKey
署名の検証時に使用する公開キーを含む CERT_PUBLIC_KEY_INFO 構造体へのポインター。
戻り値
成功した場合は 0 以外、それ以外の場合は 0 を返します。
拡張エラー情報については、 GetLastError を呼び出します。
リターン コード | 説明 |
---|---|
|
証明書のエンコードの種類が無効です。 現在、 X509_ASN_ENCODING のみがサポートされています。 |
|
署名アルゴリズムの オブジェクト識別子 (OID) は、既知またはサポートされている ハッシュ アルゴリズムにマップされません。 |
|
署名が無効でした。 |
関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。
注釈
この関数は現在、検証を実行するために CryptVerifyCertificateSignatureEx 関数を呼び出しています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |