다음을 통해 공유


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 변수에 대한 포인터입니다. pbOutputNULL인 경우 서명에 필요한 크기(바이트)를 받습니다.

반환 값

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

함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다.

요구 사항

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