CertFindSubjectInCTL 함수(wincrypt.h)

CertFindSubjectInCTL 함수는 CTL(인증서 신뢰 목록)에서 지정된 주체를 찾으려고 시도합니다. 주체는 인증서의 전체 컨텍스트 또는 인증서 발급자 및 일련 번호의 SHA1 해시 와 같은 인증서 주체의 고유 식별자로 식별할 수 있습니다.

구문

PCTL_ENTRY CertFindSubjectInCTL(
  [in] DWORD         dwEncodingType,
  [in] DWORD         dwSubjectType,
  [in] void          *pvSubject,
  [in] PCCTL_CONTEXT pCtlContext,
  [in] DWORD         dwFlags
);

매개 변수

[in] dwEncodingType

사용되는 인코딩 형식을 지정합니다. 현재는 X509_ASN_ENCODING 및 PKCS_7_ASN_ENCODING만 사용되고 있습니다. 그러나 나중에 추가 인코딩 형식이 추가될 수 있습니다. 현재 인코딩 형식의 경우 다음을 사용합니다.

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] dwSubjectType

CTL에서 검색할 제목 유형을 지정합니다. 기본 검색의 경우 NULL 일 수 있습니다.

의미
CTL_CERT_SUBJECT_TYPE
pvSubject 데이터 형식: CERT_CONTEXT 구조체에 대한 포인터입니다.

CTL의 SubjectAlgorithm 은 주체의 ID 표현을 확인하기 위해 검사됩니다. 처음에는 SHA1 및 MD5 해시만 SubjectAlgorithm의 값으로 지원됩니다. 적절한 해시 속성은 CERT_CONTEXT 구조체에서 가져옵니다.

CTL_ANY_SUBJECT_TYPE
pvSubject 데이터 형식: CTL_ANY_SUBJECT_INFO 구조체에 대한 포인터입니다.

이 구조체의 SubjectAlgorithm 멤버는 CTL의 알고리즘 형식과 일치해야 하며 SubjectIdentifier 멤버는 CTL 항목 중 하나와 일치해야 합니다.

 

인증서의 해시 또는 CTL_ANY_SUBJECT_INFO 구조의 SubjectIdentifier 멤버는 주체 항목을 검색할 때 키로 사용됩니다. 키와 항목의 SubjectIdentifier 간에 이진 메모리 비교가 수행됩니다.

dwSubjectType이 이전 값 중 하나로 설정된 경우 dwEncodingType은 사용되지 않습니다.

[in] pvSubject

dwSubjectType 매개 변수와 함께 사용되는 포인터입니다.

[in] pCtlContext

검색 중인 CTL_CONTEXT 구조체에 대한 포인터입니다.

[in] dwFlags

나중에 사용할 수 있으며 0이어야 합니다.

반환 값

함수가 성공하면 반환 값이 항목(있는 경우)입니다.

함수가 실패하면 반환 값은 NULL입니다. 확장된 오류 정보는 GetLastError를 호출합니다. 몇 가지 가능한 오류 코드는 다음과 같습니다.

반환 코드 설명
CRYPT_E_NOT_FOUND
CTL에서 제목을 찾을 수 없습니다.
E_INVALIDARG
dwSubjectType 매개 변수가 CTL_CERT_SUBJECT_TYPE 또는 CTL_ANY_SUBJECT_TYPE 않았습니다.
NTE_BAD_ALGID
CTL의 SubjectAlgorithm 멤버가 SHA1 또는 MD5에 매핑되지 않았습니다.

설명

인증서의 해시 또는 CTL_ANY_SUBJECT_INFO 구조의 SubjectIdentifier 멤버는 주체 항목을 검색할 때 키로 사용됩니다. 키와 항목의 SubjectIdentifier 간에 이진 메모리 비교가 수행됩니다.

요구 사항

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

추가 정보

CERT_CONTEXT

CTL_ANY_SUBJECT_INFO

CTL_CONTEXT

CertFindCTLInStore

인증서 및 인증서 저장소 유지 관리 기능