CryptRetrieveTimeStamp 함수(wincrypt.h)
CryptRetrieveTimeStamp 함수는 타임스탬프 요청을 인코딩하고 URL로 지정된 위치에서 TSA(타임스탬핑 기관)로 타임스탬프 토큰을 검색합니다.
구문
BOOL CryptRetrieveTimeStamp(
[in] LPCWSTR wszUrl,
DWORD dwRetrievalFlags,
DWORD dwTimeout,
[in] LPCSTR pszHashId,
[in, optional] const CRYPT_TIMESTAMP_PARA *pPara,
[in] const BYTE *pbData,
DWORD cbData,
[out] PCRYPT_TIMESTAMP_CONTEXT *ppTsContext,
[out, optional] PCCERT_CONTEXT *ppTsSigner,
[out, optional] HCERTSTORE *phStore
);
매개 변수
[in] wszUrl
요청을 보낼 TSA의 URL을 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다.
dwRetrievalFlags
타임스탬프를 검색하는 방법을 지정하는 플래그 집합입니다.
값 | 의미 |
---|---|
|
pbData 매개 변수가 가리키는 바이트 배열에 대한 해시 계산을 억제합니다. |
|
검색된 타임스탬프를 통해 서명 유효성 검사를 적용합니다.
참고TIMESTAMP_VERIFY_CONTEXT_SIGNATURE 플래그는 pPara 매개 변수가 가리키는 CRYPT_TIMESTAMP_PARAfRequestCerts 멤버가 TRUE로 설정된 경우에만 유효합니다.
|
|
자동 인증 처리를 금지하도록 이 플래그를 설정합니다. |
dwTimeout
검색 대기할 최대 시간(밀리초)을 지정하는 DWORD 값입니다. 이 매개 변수가 0으로 설정된 경우 이 함수는 시간 초과되지 않습니다.
[in] pszHashId
해시 알고리즘 개체 식별자 (OID)를 포함하는 null로 끝나는 문자열에 대한 포인터입니다.
[in, optional] pPara
요청에 대한 추가 매개 변수를 포함하는 CRYPT_TIMESTAMP_PARA 구조체에 대한 포인터입니다.
[in] pbData
타임스탬프를 적용할 바이트 배열에 대한 포인터입니다.
cbData
pbData 매개 변수가 가리키는 배열의 크기(바이트)입니다.
[out] ppTsContext
PCRYPT_TIMESTAMP_CONTEXT 구조체에 대한 포인터입니다. 컨텍스트 사용을 마쳤으면 CryptMemFree 함수를 호출하여 해제해야 합니다.
[out, optional] ppTsSigner
서명자의 인증서를 받는 PCERT_CONTEXT 대한 포인터입니다. 이 구조체 사용을 마치면 이 포인터를 CertFreeCertificateContext 함수에 전달하여 해제해야 합니다.
TSA 서명자의 인증서가 필요하지 않은 경우 이 매개 변수를 NULL 로 설정합니다.
[out, optional] phStore
타임스탬핑 응답의 인증서로 초기화된 인증서 저장소의 핸들입니다. 이 저장소는 타임스탬프를 응답하는 서명자 인증서의 유효성을 검사하는 데 사용할 수 있습니다.
TSA 지원 인증서가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다. 이 핸들 사용을 마치면 CertCloseStore 함수에 전달하여 해제합니다.
반환 값
함수가 타임스탬프를 검색, 디코딩 및 유효성을 검사할 수 없는 경우 FALSE를 반환합니다. 확장된 오류 정보는 GetLastError 함수를 호출합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
DLL | Crypt32.dll |