CryptXmlDllSignData 콜백 함수(cryptxml.h)
CryptXmlDllSignData 함수는 데이터에 서명합니다.
CryptXmlDllSignData 함수는 내보낸 CryptXmlDllGetInterface 함수를 통해 노출됩니다.
구문
CryptXmlDllSignData Cryptxmldllsigndata;
HRESULT Cryptxmldllsigndata(
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
[in] DWORD dwKeySpec,
[in] const BYTE *pbInput,
[in] ULONG cbInput,
[out, optional] BYTE *pbOutput,
[in] ULONG cbOutput,
[out] ULONG *pcbResult
)
{...}
매개 변수
[in] pSignatureMethod
알고리즘을 지정하는 CRYPT_XML_ALGORITHM 구조체에 대한 포인터입니다.
[in] hCryptProvOrNCryptKey
서명을 만드는 CSP( 암호화 서비스 공급자 )의 핸들입니다. 이 핸들은 CryptAcquireContext 함수 호출 또는 NCryptOpenKey 함수를 사용하여 만든 NCRYPT_KEY_HANDLE 핸들에서 가져온 HCRYPTPROV 핸들이어야 합니다. 새 애플리케이션은 NCRYPT_KEY_HANDLE 핸들을 전달해야 합니다.
[in] dwKeySpec
공급자의 컨테이너에서 사용할 프라이빗 키입니다. 이 키는 AT_KEYEXCHANGE 또는 AT_SIGNATURE 수 있습니다. hCryptProvOrNCryptKey 매개 변수에 NCRYPT_KEY_HANDLE 핸들을 사용하는 경우 이 매개 변수는 무시됩니다.
[in] pbInput
서명할 다이제스트 값이 포함된 버퍼에 대한 포인터입니다. cbInput 매개 변수에는 이 버퍼의 크기가 포함됩니다.
[in] cbInput
pbInput 매개 변수가 가리키는 버퍼의 크기(바이트)입니다.
[out, optional] pbOutput
이 함수에서 생성한 서명을 받을 버퍼의 주소입니다. cbOutput 매개 변수에는 이 버퍼의 크기가 포함됩니다.
이 매개 변수가 NULL인 경우 이 함수는 암호화된 데이터에 필요한 크기를 계산하고 pcbResult 매개 변수가 가리키는 위치의 크기를 반환합니다.
[in] cbOutput
pbOutput 매개 변수가 가리키는 버퍼의 크기(바이트)입니다.
[out] pcbResult
pbOutput 버퍼에 복사된 바이트 수를 수신하는 DWORD 변수에 대한 포인터입니다. pbOutput이 NULL인 경우 서명에 필요한 크기(바이트)를 받습니다.
반환 값
함수가 성공하면 함수는 0을 반환합니다.
함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | cryptxml.h |