CryptXmlSign 함수(cryptxml.h)
CryptXmlSign 함수는 SignedInfo 요소의 암호화 서명을 만듭니다.
구문
HRESULT CryptXmlSign(
[in] HCRYPTXML hSignature,
[in, optional] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hKey,
DWORD dwKeySpec,
DWORD dwFlags,
CRYPT_XML_KEYINFO_SPEC dwKeyInfoSpec,
[in, optional] const void *pvKeyInfoSpec,
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] const CRYPT_XML_ALGORITHM *pCanonicalization
);
매개 변수
[in] hSignature
CRYPT_XML_SIGNATURE 구조체에 대한 핸들입니다.
[in, optional] hKey
SignedInfo 요소에 서명하는 데 사용되는 프라이빗 키의 핸들입니다. 이 매개 변수는 HMAC 기반 서명 알고리즘의 경우 NULL 이어야 합니다.
dwKeySpec
키 형식을 지정하는 DWORD 값입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
키 쌍은 키 교환 쌍입니다. |
|
키 쌍은 서명 쌍입니다. |
|
키는 암호화 API: 차세대(CNG) 키입니다. |
dwFlags
데이터가 서명되는 방식을 제어하는 DWORD 값입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
dwKeyInfoSpec
pvKeyInfoSpec 매개 변수가 가리키는 데이터 구조의 형식입니다. 다음은 몇 가지 가능한 조합입니다.
dwKeyInfec | pvKeyInfoSpec |
---|---|
CRYPT_XML_KEYINFO_SPEC_NONE | NULL로 설정됩니다. |
CRYPT_XML_KEYINFO_SPEC_ENCODED | CRYPT_XML_BLOB 구조를 가리킵니다. |
CRYPT_XML_KEYINFO_SPEC_PARAM | CRYPT_XML_KEYINFO_PARAM 구조를 가리킵니다. |
[in, optional] pvKeyInfoSpec
구조체에 대한 포인터이며, 형식은 dwKeyInfoSpec 매개 변수의 값에 의해 결정됩니다.
[in] pSignatureMethod
서명 메서드를 지정하는 CRYPT_XML_ALGORITHM 구조체에 대한 포인터입니다.
[in] pCanonicalization
정식화 메서드를 지정하는 CRYPT_XML_ALGORITHM 구조체에 대한 포인터입니다.
반환 값
함수가 성공하면 함수는 0을 반환합니다.
함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다.
설명
인증서를 찾을 수 없는 경우 CryptXmlSign은 인증서 선택용 UI를 만듭니다. 세션 0에서 실행되는 프로세스에서 이 창이 생성되면 애플리케이션이 예기치 않게 종료될 수 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | cryptxml.h |
라이브러리 | Cryptxml.lib |
DLL | Cryptxml.dll |