CertIsStrongHashToSign 関数 (wincrypt.h)

指定したハッシュ アルゴリズムと署名証明書の公開キーを使用して強力な署名を実行できるかどうかを判断します。

構文

BOOL CertIsStrongHashToSign(
  [in]           PCCERT_STRONG_SIGN_PARA pStrongSignPara,
  [in]           LPCWSTR                 pwszCNGHashAlgid,
  [in, optional] PCCERT_CONTEXT          pSigningCert
);

パラメーター

[in] pStrongSignPara

サポートされている署名アルゴリズムとハッシュ アルゴリズムに関する情報を含む CERT_STRONG_SIGN_PARA構造体への ポインター。

[in] pwszCNGHashAlgid

ハッシュ アルゴリズムの名前を含む Unicode 文字列へのポインター。 次のアルゴリズムがサポートされています。

  • L"MD5" (BCRYPT_MD5_ALGORITHM)
  • L"SHA1" (BCRYPT_SHA1_ALGORITHM)
  • L"SHA256" (BCRYPT_SHA256_ALGORITHM)
  • L"SHA256" (BCRYPT_SHA256_ALGORITHM)
  • L"SHA512" (BCRYPT_SHA512_ALGORITHM)

[in, optional] pSigningCert

署名証明書を含む CERT_CONTEXT 構造体へのポインター。 署名証明書の公開キー アルゴリズムの強度がチェックされます。 署名には公開キー (非対称) アルゴリズムが使用されます。 次の署名アルゴリズムがサポートされています。

  • L"RSA" (BCRYPT_RSA_ALGORITHM)
  • L"DSA" (BCRYPT_DSA_ALGORITHM)
  • L"ECDSA" (SSL_ECDSA_ALGORITHM)
ハッシュ アルゴリズムが強力かどうかのみをチェックする場合、このパラメーターは NULL にすることができます。

戻り値

関数が成功した場合、関数は TRUE を返します。

関数が失敗すると、 FALSE が返されます。 拡張エラー情報については、 GetLastError を呼び出します。 この関数には、次のエラー コードがあります。

リターン コード 説明
E_INVALIDARG
1 つ以上の入力引数が正しくありません。
NTE_BAD_ALGID
指定されたアルゴリズムはサポートされていません。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

こちらもご覧ください

CERT_STRONG_SIGN_PARA