CertFindChainInStore 함수(wincrypt.h)
CertFindChainInStore 함수는 지정된 조건을 충족하는 저장소 첫 번째 또는 다음 인증서를 찾습니다. 그런 다음 해당 인증서에 대한 인증서 체인 컨텍스트를 빌드하고 확인합니다. 체인이 만들어지는 인증서는 dwFindFlags, dwFindType및 pvFindPara 매개 변수에 의해 설정된 조건에 따라 선택됩니다. 이 함수는 루프에서 지정된 찾기 조건과 일치하는 인증서 저장소의 모든 인증서를 찾고 찾은 각 인증서에 대한 인증서 체인 컨텍스트를 빌드하는 데 사용할 수 있습니다.
통사론
PCCERT_CHAIN_CONTEXT CertFindChainInStore(
[in] HCERTSTORE hCertStore,
[in] DWORD dwCertEncodingType,
[in] DWORD dwFindFlags,
[in] DWORD dwFindType,
[in] const void *pvFindPara,
[in] PCCERT_CHAIN_CONTEXT pPrevChainContext
);
매개 변수
[in] hCertStore
체인이 빌드된 인증서를 검색할 저장소의 핸들입니다. 이 핸들은 체인이 빌드될 때 CertGetCertificateChain 함수에 추가 저장소로 전달됩니다.
[in] dwCertEncodingType
인증서 인코딩 유형은 저장소를 인코딩하는 데 사용된. 이 값의 높은 WORD 포함된 메시지 인코딩 형식 식별자는 이 함수에서 무시됩니다.
이 매개 변수는 현재 정의된 다음 인증서 인코딩 유형일 수 있습니다.
값 | 의미 |
---|---|
|
X.509 인증서 인코딩을 지정합니다. |
[in] dwFindFlags
검색에 대한 추가 옵션을 포함합니다. 이 매개 변수의 가능한 값은 dwFindType 매개 변수의 값에 따라 달라집니다.
이 매개 변수는 dwFindTypeCERT_CHAIN_FIND_BY_ISSUER포함하는 경우 다음 값 중 하나 이상의 조합 또는 0을 포함할 수 있습니다.
값 | 의미 |
---|---|
|
인증서의 공개 키를 암호화 서비스 공급자의공개 키비교합니다. 이 비교는 체인을 빌드할 때 마지막으로 수행한 검사입니다.
발급자의 hCryptProv 멤버에 프라이빗 키가 포함되어 있으므로 이 프로세스 중에 여러 번 확인해야 할 수 있습니다. 이 검사를 용이하게 하기 위해 dwAcquirePrivateKeyFlags 멤버를 CERT_CHAIN_FIND_BY_ISSUER_PARA 구조에서 설정하여 해당 hCryptProv캐싱할 수 있습니다. |
|
기본적으로 첫 번째 단순 체인만 발급자 이름과 일치하는지 확인합니다. 이 플래그를 설정하면 기본값이 재정의되고 이후의 단순 체인도 발급자 이름 일치 여부를 확인합니다. |
|
캐시된 시스템 저장소(Root, My, Ca, Trust)만 검색하여 발급자 인증서를 찾도록 하여 이 함수의 성능을 향상시킵니다. 이 플래그를 설정하지 않으면 함수는 캐시된 시스템 저장소와 hCertStore 매개 변수로 표시되는 저장소를 검색합니다. |
|
URL 캐시만 검색됩니다. 인터넷이 검색되지 않습니다. |
|
로컬 컴퓨터 인증서 저장소만 엽니다. 현재 사용자의 인증서 저장소가 열리지 않습니다. |
|
인증서에 연결된 프라이빗 키가 있는지 여부를 확인하지 않습니다. |
[in] dwFindType
저장소에서 인증서를 찾는 데 사용할 조건을 결정합니다.
이 매개 변수는 현재 정의된 다음 값일 수 있습니다.
CERT_CHAIN_FIND_BY_ISSUER
발급자의 이름을 기반으로 인증서를 찾습니다. pvFindPara 매개 변수는 검색을 수정하는 멤버를 포함하는 CERT_CHAIN_FIND_BY_ISSUER_PARA 구조체에 대한 포인터입니다.
인증서 체인은 사용 가능한 프라이빗 키있는 인증서용으로 빌드됩니다. 기본적으로 첫 번째 단순 체인의 발급자만 발급자 이름 일치에서 비교됩니다. 이 플래그를 설정하면 모든 체인이 발급자 이름 집합 중 하나와 일치하는 발급자 인증서를 확인합니다.
이 함수는
이 함수는 해지 검사를 수행하지 않습니다.
[in] pvFindPara
추가 검색 조건을 포함하는 포인터입니다. 이 매개 변수가 가리키는 데이터의 형식과 형식은 dwFindType 매개 변수의 값에 따라 달라집니다.
[in] pPrevChainContext
이 함수에 대한 이전 호출에서 반환된 CERT_CHAIN_CONTEXT 구조체에 대한 포인터입니다. 이 인증서에서 검색이 시작됩니다. 이 함수에 대한 첫 번째 호출의 경우 이 매개 변수는 NULL
반환 값
첫 번째 또는 다음 체인 컨텍스트가 빌드되지 않은 경우 NULL 반환됩니다. 그렇지 않으면 읽기 전용 CERT_CHAIN_CONTEXT 구조체에 대한 포인터가 반환됩니다. 이 함수에 대한 후속 호출에서 pPrevChainContext 매개 변수로 전달되면 CERT_CHAIN_CONTEXT 구조체가 해제됩니다. 그렇지 않으면 CERT_CHAIN_CONTEXT 구조체는 CertFreeCertificateChain 함수를 호출하여 명시적으로 해제되어야 합니다.
발언
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |