CryptGetTimeValidObject 함수(wincrypt.h)
CryptGetTimeValidObject 함수는 지정된 컨텍스트 및 시간 내에 유효한 CRL, OCSP 응답 또는 CTL 개체를 검색합니다.
구문
BOOL CryptGetTimeValidObject(
[in] LPCSTR pszTimeValidOid,
[in] LPVOID pvPara,
[in] PCCERT_CONTEXT pIssuer,
[in, optional] LPFILETIME pftValidFor,
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[out, optional] LPVOID *ppvObject,
[in, optional] PCRYPT_CREDENTIALS pCredentials,
[in, out, optional] PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo
);
매개 변수
[in] pszTimeValidOid
요청되는 개체를 식별하는 OID(개체 식별자 )에 대한 포인터입니다. pszTimeValidOid 매개 변수의 HIWORD가 0이면 LOWORD는 지정된 구조체의 형식에 대한 정수 식별자를 지정합니다.
이 매개 변수는 다음 값 중 하나일 수 있습니다. 이러한 값이 pvPara 매개 변수에 미치는 영향에 대한 자세한 내용은 의미 열의 "For the pvPara parameter" 제목을 참조하세요.
값 | 의미 |
---|---|
|
NextUpdateLocation 속성 또는 현재 CTL 컨텍스트의 확장에서 가져온 URL을 기반으로 CTL(인증서 신뢰 목록)을 제공합니다.
pvPara 매개 변수의 경우: 현재 인증서 신뢰 목록을 나타내는 PCCTL_CONTEXT 대한 포인터입니다. |
|
이 값은 나중에 사용할 수 있도록 예약되었습니다. |
|
현재 인증서 컨텍스트의 CRL 배포 지점 확장에서 얻은 정보를 기반으로 CRL을 제공합니다.
pvPara 매개 변수의 경우: 주체 인증서를 나타내는 PCCERT_CONTEXT 대한 포인터입니다. |
|
현재 인증서 컨텍스트의 최신 CRL 확장에서 얻은 정보를 기반으로 델타 CRL을 제공합니다.
pvPara 매개 변수의 경우: 주체 인증서를 나타내는 PCCERT_CONTEXT 대한 포인터입니다. |
|
현재 CRL 컨텍스트의 최신 CRL 확장에서 얻은 정보를 기반으로 델타 CRL을 제공합니다.
pvPara 매개 변수의 경우: 주체 인증서 및 기본 CRL을 나타내는 PCCERT_CRL_CONTEXT_PAIR 대한 포인터입니다. |
[in] pvPara
pszTimeValidOid 값으로 결정되는 구조체입니다. 자세한 내용은 pszTimeValidOid 매개 변수에 대한 설명을 참조하세요.
[in] pIssuer
발급자의 인증서를 포함하는 CERT_CONTEXT 대한 포인터입니다.
[in, optional] pftValidFor
현재 시스템 시간의 선택적 FILETIME 구조 버전 또는 현재 컨텍스트의 새로 고침 시간에 대한 포인터입니다.
[in] dwFlags
시간 제한, 원본 및 유효성 검사와 같은 다양한 검색 요소를 결정하는 값입니다.
다음 표에서는 dwFlags 매개 변수에 대해 가능한 값을 나열합니다.
값 | 의미 |
---|---|
|
해지 URL 검색을 위해 클라이언트 컴퓨터의 누적 시간 제한 레지스트리 설정을 사용합니다. |
|
클라이언트 URL 캐시에서만 인코딩된 비트를 검색합니다. 유선을 사용하여 URL을 검색하지 마세요. |
|
현재 컨텍스트의 ThisUpdate 속성 또는 확장이 ftValidFor 매개 변수보다 크거나 같은지 확인합니다. |
|
시간 유효성 검사 수행하지 마세요. 이를 사용하여 와이어를 통해 최신 기본 CRL을 검색하거나 캐시 검색 중에 시간 유효성 검사 무시합니다. 이 플래그가 설정되면 pftValidFor 는 NULL일 수 있습니다. |
|
서명 확인을 수행하지 마세요. 검색된 개체의 확인이 이 함수 외부에서 수행되거나 검색된 캐시 항목을 개체에 대한 새 캐시 항목으로 강제로 교체할 때 사용합니다. |
|
이 값은 나중에 사용할 수 있도록 예약되었습니다. |
|
현재 컨텍스트의 기관 정보 액세스 URL에 따라 OCSP 응답기 서비스에서 유효한 시간 개체를 검색합니다. CertVerifyRevocation 함수는 dwFlags 매개 변수가 CERT_VERIFY_REV_SERVER_OCSP_FLAG 설정된 상태에서 호출될 때 이 플래그를 설정합니다. |
|
와이어에서만 인코딩된 비트를 검색합니다. URL 캐시를 사용하지 않습니다. |
[in] dwTimeout
결과를 반환하지 않은 URL 검색 시도를 종료할 시기를 지정하는 값(밀리초)입니다.
[out, optional] ppvObject
반환된 개체의 주소에 대한 포인터입니다. 반환 형식은 CryptRetrieveObjectByUrl 함수의 pszObjectOid 매개 변수에 표시된 지원되는 형식 중 하나일 수 있습니다.
[in, optional] pCredentials
URL에 액세스하는 데 사용되는 선택적 CRYPT_CREDENTIALS 구조체에 대한 포인터입니다. 현재 지원되는 자격 증명 유형은 사용자 이름 및 암호 자격 증명뿐입니다.
[in, out, optional] pExtraInfo
개체의 캐시 항목에 대한 추가 정보를 포함하는 선택적 CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO 구조체에 대한 포인터입니다.
반환 값
함수가 성공하면 함수는 TRUE를 반환 합니다.
함수가 실패하면 FALSE를 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다.
몇 가지 가능한 오류 코드는 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
pszTimeValidOid 매개 변수에 대한 TIME_VALID_OID_GET_CRL 지정한 호출자입니다. 이 OID는 지원되지 않습니다. |
|
호출자는 CRYPT_OCSP_ONLY_RETRIEVAL 플래그를 설정하고 컨텍스트에는 비 OCSP URL이 포함됩니다. |
|
함수가 인증서 컨텍스트에서 CRL을 검색하거나 CTL을 검색하지 못했으며 캐시 항목에서 URL을 복사하지 못했습니다. |
|
함수가 내부 배열 작업에 메모리를 할당할 수 없습니다. |
|
호출자가 CRYPT_CACHE_ONLY_RETRIEVAL 플래그를 설정하지 않았으며 인터넷에 연결되어 있지 않습니다. |
설명
Cryptnet 동적 링크 라이브러리는 CryptGetTimeValidObject 함수를 지원하는 데 사용되는 TVO(시간 유효한 개체) 캐시를 구현합니다. 캐시는 각 캐시 항목이 다음 정보로 구성된 프로세스 글로벌 TVO 에이전트에서 사용됩니다.
- 원본 식별자
- 컨텍스트 OID
- Context
- 검색 URL
- 만료 시간
- 오프라인 URL 시간 정보
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Cryptnet.lib |
DLL | Cryptnet.dll |