Share via


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

해시 알고리즘의 이름을 포함하는 유니코드 문자열에 대한 포인터입니다. 지원되는 알고리즘은 다음과 같습니다.

  • 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
하나 이상의 입력 인수가 올바르지 않습니다.
NTE_BAD_ALGID
지정된 알고리즘은 지원되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CERT_STRONG_SIGN_PARA