다음을 통해 공유


IX509SignatureInformation::GetSignatureAlgorithm 메서드(certenroll.h)

GetSignatureAlgorithm 메서드는 OID(서명 알고리즘 개체 식별자)를 검색합니다.

구문

HRESULT GetSignatureAlgorithm(
  [in]  VARIANT_BOOL Pkcs7Signature,
  [in]  VARIANT_BOOL SignatureKey,
  [out] IObjectId    **ppValue
);

매개 변수

[in] Pkcs7Signature

알고리즘을 사용하여 PKCS #7 또는 CMC 인증서 요청에 서명할지 여부를 지정하는 VARIANT_BOOL 변수입니다.

[in] SignatureKey

알고리즘 OID가 둘 이상의 목적과 연결된 경우 서명에만 사용되는 알고리즘이 선호되는지 여부를 지정하는 VARIANT_BOOL 변수입니다. 예를 들어 XCN_OID_RSA_RSA(1.2.840.113549.1.1.1.1)을 서명 및 키 교환 모두에 사용할 수 있습니다.

[out] ppValue

알고리즘 OID를 나타내는 IObjectId 인터페이스에 대한 포인터를 수신하는 변수의 주소입니다.

반환 값

함수가 성공하면 함수는 S_OK 반환합니다.

함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 일반적인 오류 코드 목록은 일반 HRESULT 값을 참조하세요.

반환 코드/값 설명
CERTSRV_E_PROPERTY_EMPTY
해시 알고리즘 OID 또는 NullSigned 속성이 지정되지 않았지만 서명 알고리즘 OID를 찾을 수 없습니다.
CRYPT_E_UNKNOWN_ALGO
결합된 서명 알고리즘을 찾을 수 없습니다.

설명

이 메서드는 입력 매개 변수와 일치하는 캐시된 서명 알고리즘을 검색합니다. 없는 경우 메서드는 입력 매개 변수와 다음 목록에 표시된 대로 다양한 IX509SignatureInformation 속성에 할당된 값을 사용합니다.

  • Pkcs7Signature = true, NullSigned = true

    이 사례는 null 서명된 PKCS #7 인증서 요청을 나타냅니다. 메서드는 XCN_OID_PKIX_NO_SIGNATURE(1.3.6.1.5.5.7.6.2) OID를 반환합니다.

  • Pkcs7Signature = true, NullSigned = false

    이 경우 null 서명되지 않은 PKCS #7 요청에 대한 불연속 서명 알고리즘 OID를 검색합니다. 불연속 서명을 사용하려면 HashAlgorithmPublicKeyAlgorithm 속성을 설정해야 합니다. 공개 키 알고리즘이 XCN_OID_X957_DSA 해시 알고리즘이 XCN_OID_OIWSEC_sha1 않는 특수한 경우 검색된 서명 알고리즘 OID는 XCN_OID_X957_SHA1DSA(1.2.840.10040.4.3)입니다.

  • Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = true

    이 경우 PKCS #10 요청에 대한 불연속 서명 알고리즘 OID를 검색하고 Parameters 속성에서 해시 알고리즘 OID를 인코딩합니다. HashAlgorithmPublicKeyAlgorithm 속성을 설정해야 합니다.

  • Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = false

    이 경우 PKCS #7 요청에 대한 불연속 서명 알고리즘 OID를 검색합니다. HashAlgorithmPublicKeyAlgorithm 속성을 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certenroll.h
DLL CertEnroll.dll

추가 정보

IX509SignatureInformation