CryptGetObjectUrl 함수(wincrypt.h)

CryptGetObjectUrl 함수는 인증서, CTL(인증서 신뢰 목록) 또는 CRL(인증서 해지 목록)에서 원격 개체의 URL을 가져옵니다.

함수는 개체를 가져와 디코딩하고 개체의 URL 배열에 대한 포인터를 제공합니다. 예를 들어 인증서에서 URL의 CRL 배포 목록은 배열에 있습니다.

구문

BOOL CryptGetObjectUrl(
  [in]      LPCSTR           pszUrlOid,
  [in]      LPVOID           pvPara,
  [in]      DWORD            dwFlags,
  [out]     PCRYPT_URL_ARRAY pUrlArray,
  [in, out] DWORD            *pcbUrlArray,
  [out]     PCRYPT_URL_INFO  pUrlInfo,
  [in, out] DWORD            *pcbUrlInfo,
            LPVOID           pvReserved
);

매개 변수

[in] pszUrlOid

요청되는 URL을 식별하는 OID( 개체 식별자 )에 대한 포인터입니다. pszUrlOid 매개 변수의 HIWORD가 0이면 LOWORD는 지정된 구조체의 형식에 대한 정수 식별자를 지정합니다.

이 매개 변수는 다음 값 중 하나일 수 있습니다. 이러한 값이 pvPara 매개 변수에 미치는 영향에 대한 자세한 내용은 의미 열의 "For the pvPara parameter" 제목을 참조하세요.

의미
URL_OID_CERTIFICATE_ISSUER
인증 기관 정보 액세스 확장 프로그램 또는 인증서의 속성에서 검색된 인증서 발급자의 URL을 제공합니다.

pvPara 매개 변수의 경우: URL이 요청되는 발급자에서 발급한 CERT_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CERTIFICATE_CRL_DIST_POINT
인증서의 CRL 배포 지점 확장 또는 속성에서 검색된 CRL 배포 지점의 URL 목록을 제공합니다.

pvPara 매개 변수의 경우: CRL 배포 지점이 요청된 CERT_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP
AIA(기관 정보 액세스) 및 CRL 배포 지점 확장 또는 인증서 속성의 OCSP 및 CRL 배포 지점 URL 목록을 제공합니다. 함수는 먼저 CRL 배포 지점 URL을 반환합니다. OCSP URL을 사용하기 전에 L"ocsp:" 접두사를 제거해야 합니다.

pvPara 매개 변수의 경우: OCSP 및 CRL 배포 지점 URL이 요청된 CERT_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CERTIFICATE_OCSP
인증서의 AIA(기관 정보 액세스) 확장 또는 속성에서 OCSP URL을 제공합니다.

pvPara 매개 변수의 경우: OCSP URL이 요청된 CERT_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT
AIA(기관 정보 액세스) 및 CRL 배포 지점 확장 또는 인증서 속성의 OCSP 및 CRL 배포 지점 URL 목록을 제공합니다. 함수는 먼저 모든 OCSP URL을 반환합니다. OCSP URL을 사용하기 전에 L"ocsp:" 접두사를 제거해야 합니다.

pvPara 매개 변수의 경우: OCSP 및 CRL 배포 지점 URL이 요청된 CERT_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CERTIFICATE_ONLY_OCSP
인증서의 AIA(기관 정보 액세스) 확장 또는 속성에서 OCSP URL 목록을 제공합니다. OCSP URL을 사용하기 전에 L"ocsp:" 접두사를 제거해야 합니다.

pvPara 매개 변수의 경우: OCSP URL이 요청된 CERT_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CTL_ISSUER
PKCS #7 CTL의 각 서명자 정보에 인코딩된 기관 정보 액세스 특성 메서드에서 검색된 CTL 발급자의 URL을 제공합니다.

pvPara 매개 변수의 경우: 서명자 인덱스로 식별된 URL이 요청된 발급자가 발급한 서명자 인덱스 CTL_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CTL_NEXT_UPDATE
기관 정보 액세스 CTL 확장, 속성 또는 서명자 정보 특성 메서드에서 검색한 CTL의 다음 업데이트 URL을 제공합니다.

pvPara 매개 변수의 경우: 서명자 정보 특성을 검사 필요한 경우 다음 업데이트 URL이 요청된 Signer Index CTL_CONTEXT 구조체에 대한 포인터 및 선택적 서명자 인덱스입니다.

URL_OID_CRL_ISSUER
주체 인증서 발급자 또는 주체 인증서 배포 지점 확장에서 상속된 CRL의 속성에서 검색된 CRL 발급자의 URL을 제공합니다. 인증 기관 정보 액세스 확장 메서드로 인코딩됩니다.

pvPara 매개 변수의 경우: URL이 요청된 발급자에서 발급한 CRL_CONTEXT 구조체에 대한 포인터입니다.

URL_OID_CERTIFICATE_FRESHEST_CRL
인증서의 최신 CRL 확장 또는 속성을 검색합니다.

pvPara 매개 변수의 경우: 가장 최근의 CRL 배포 지점이 요청되는 인증서의 PCCERT_CONTEXT.

URL_OID_CRL_FRESHEST_CRL
CRL의 가장 최근 CRL 확장 또는 속성을 검색합니다.

pvPara 매개 변수의 경우: 가장 최근의 CRL 배포 지점이 요청되는 인증서의 기본 CRL을 포함하는 CERT_CRL_CONTEXT_PAIR 구조체에 대한 포인터입니다.

URL_OID_CROSS_CERT_DIST_POINT
인증서의 인증서 간 배포 지점 확장 또는 속성을 검색합니다.

pvPara 매개 변수의 경우: 인증서 간 배포 지점이 요청되는 인증서의 PCCERT_CONTEXT.

URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS
인증서의 교차 인증서 주체 정보 액세스 확장 또는 속성을 검색합니다.

pvPara 매개 변수의 경우: 인증서 간 주체 정보 액세스가 요청되는 인증서의 PCCERT_CONTEXT.

[in] pvPara

pszUrlOid 값으로 결정되는 구조체입니다. 자세한 내용은 pszUrlOid 매개 변수에 대한 설명을 참조하세요.

[in] dwFlags

개체의 URL 로케이터를 가져오는 데 사용되는 플래그 집합입니다. 이 값은 0이거나 다음 값 중 하나 이상의 조합일 수 있습니다.

의미
CRYPT_GET_URL_FROM_PROPERTY
개체의 속성(데이터 위치)에서 URL을 찾습니다.
CRYPT_GET_URL_FROM_EXTENSION
개체의 확장에서 URL을 찾습니다.
CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE
서명자 정보 데이터에서 인증되지 않은 특성에서 URL을 찾습니다.
CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE
서명자 정보 데이터에서 인증된 특성에서 URL을 찾습니다.

[out] pUrlArray

값 항목에 대한 데이터를 수신할 버퍼에 대한 포인터입니다. 이 매개 변수는 데이터를 보관하는 데 필요한 버퍼의 길이를 찾기 위해 NULL 일 수 있습니다.

자세한 내용은 알 수 없는 길이의 데이터 검색을 참조하세요.

[in, out] pcbUrlArray

pUrlArray 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정하는 DWORD에 대한 포인터입니다. 함수가 반환되면 DWORD 에는 버퍼에 저장된 바이트 수가 포함됩니다. 이 매개 변수는 pUrlArrayNULL인 경우에만 NULL일 수 있습니다.

[out] pUrlInfo

값 항목에 대한 데이터를 수신하는 CRYPT_URL_INFO 구조체에 대한 선택적 포인터입니다.

[in, out] pcbUrlInfo

pUrlArray 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정하는 DWORD에 대한 포인터입니다. 함수가 반환되면 DWORD 에는 버퍼에 저장된 바이트 수가 포함됩니다.

참고 버퍼에서 반환된 데이터를 처리할 때 애플리케이션은 반환된 데이터의 실제 크기를 사용해야 합니다. 실제 크기는 입력에 지정된 버퍼의 크기보다 약간 작을 수 있습니다. 입력에서 버퍼 크기는 일반적으로 가능한 가장 큰 출력 데이터가 버퍼에 맞도록 충분히 크게 지정됩니다. 출력에서 이 매개 변수가 가리키는 변수는 버퍼에 복사된 데이터의 실제 크기를 반영하도록 업데이트됩니다.
 

pvReserved

나중에 사용하도록 예약되며 NULL이어야 합니다.

반환 값

함수가 성공하면 함수는 0이 아닌 값(TRUE)을 반환합니다.

함수가 실패하면 0(FALSE)을 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Cryptnet.lib
DLL Cryptnet.dll

추가 정보

원격 개체 검색 함수