CertGetEnhancedKeyUsage 함수(wincrypt.h)

CertGetEnhancedKeyUsage 함수는 EKU(향상된 키 사용) 확장 또는 인증서의 EKU 확장 속성에서 정보를 반환합니다. EKU는 인증서의 유효한 사용을 나타냅니다.

구문

BOOL CertGetEnhancedKeyUsage(
  [in]      PCCERT_CONTEXT     pCertContext,
  [in]      DWORD              dwFlags,
  [out]     PCERT_ENHKEY_USAGE pUsage,
  [in, out] DWORD              *pcbUsage
);

매개 변수

[in] pCertContext

CERT_CONTEXT 인증서 컨텍스트에 대한 포인터입니다.

[in] dwFlags

함수가 인증서의 확장, 확장 속성 또는 둘 다에 대해 보고할지 여부를 나타냅니다. 0으로 설정하면 함수는 인증서의 EKU 확장 및 EKU 확장 속성 값을 기반으로 인증서의 유효한 사용을 반환합니다.

EKU 확장 또는 EKU 속성 값만 반환하려면 다음 플래그를 설정합니다.

의미
CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG
확장만 가져옵니다.
CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG
확장 속성 값만 가져옵니다.

[out] pUsage

인증서의 유효한 사용을 수신하는 CERT_ENHKEY_USAGE 구조체(CERT_ENHKEY_USAGE는 CTL_USAGE 구조체의 대체 typedef 이름)에 대한 포인터입니다.

이 매개 변수는 메모리 할당을 위해 키 사용 크기를 설정하는 NULL 일 수 있습니다. 자세한 내용은 알 수 없는 길이의 데이터 검색을 참조하세요.

[in, out] pcbUsage

pUsage가 가리키는 구조체의 크기(바이트)를 지정하는 DWORD에 대한 포인터입니다. 함수가 반환되면 DWORD 에는 구조체의 크기(바이트)가 포함됩니다.

반환 값

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

함수가 실패하면 0(FALSE)을 반환합니다.

설명

인증서에 EKU 확장이 있는 경우 해당 확장은 해당 인증서의 유효한 사용에 대한 OID( 개체 식별자 )를 나열합니다. Microsoft 환경에서 인증서에는 인증서에 대한 유효한 사용을 지정하는 EKU 확장 속성이 있을 수도 있습니다.

  • 인증서에 EKU 확장 또는 EKU 확장 속성이 없는 경우 모든 용도에 유효한 것으로 간주됩니다.
  • EKU 확장 또는 EKU 확장 속성이 있지만 둘 다 없는 경우 확장 또는 확장 속성에 표시된 용도에만 유효합니다.
  • 인증서에 EKU 확장 및 EKU 확장 속성이 모두 있는 경우 두 목록에 있는 용도에만 유효합니다.
dwFlags가 0으로 설정된 경우 CERT_ENHKEY_USAGE 구조체의 cUsageIdentifier 멤버는 EKU 확장 및 EKU 확장 속성 값의 값으로 결정되는 인증서의 유효한 사용 횟수로 설정됩니다.

cUsageIdentifier 멤버가 0이면 인증서가 모든 용도에 유효하거나 인증서에 유효한 용도가 없을 수 있습니다. GetLastError 호출의 반환을 사용하여 인증서가 모든 용도에 적합한지 아니면 없음에 적합한지 확인할 수 있습니다. GetLastError가 CRYPT_E_NOT_FOUND 반환하는 경우 인증서는 모든 용도에 적합합니다. 0을 반환하는 경우 인증서에는 유효한 용도가 없습니다.

요구 사항

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

추가 정보

CertSetEnhancedKeyUsage

향상된 키 사용 함수