CertOpenSystemStoreA 함수(wincrypt.h)
CertOpenSystemStore 함수는 가장 일반적인 시스템 인증서 저장소를 여는 간소화된 함수입니다. 파일 기반 또는 메모리 기반 저장소와 같이 더 복잡한 요구 사항이 있는 인증서 저장소를 열려면 CertOpenStore를 사용합니다.
구문
HCERTSTORE CertOpenSystemStoreA(
[in] HCRYPTPROV_LEGACY hProv,
[in] LPCSTR szSubsystemProtocol
);
매개 변수
[in] hProv
이 매개 변수는 사용되지 않으며 0으로 설정해야 합니다.
Windows Server 2003 및 Windows XP: CSP( 암호화 서비스 공급자 )의 핸들입니다. 기본 CSP를 사용하려면 hProv 를 0 으로 설정합니다. hProv가 0이 아닌 경우 CryptAcquireContext 함수를 사용하여 만든 CSP 핸들이어야 합니다. 이 매개 변수의 데이터 형식은 HCRYPTPROV입니다.
[in] szSubsystemProtocol
시스템 저장소의 이름을 지정하는 문자열입니다. 이 매개 변수에 제공된 시스템 저장소 이름이 기존 시스템 저장소의 이름이 아닌 경우 새 시스템 저장소가 만들어지고 사용됩니다. CertEnumSystemStore 를 사용하여 기존 시스템 저장소의 이름을 나열할 수 있습니다. 일부 예제 시스템 저장소는 다음 표에 나와 있습니다.
값 | 의미 |
---|---|
|
인증 기관 인증서. |
|
연결된 프라이빗 키가 있는 인증서를 보유하는 인증서 저장소입니다. |
|
루트 인증서. |
|
소프트웨어 게시자 인증서. |
반환 값
함수가 성공하면 함수는 인증서 저장소에 대한 핸들을 반환합니다.
이 함수가 실패하면 NULL을 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다.
설명
로컬 머신 저장소가 아닌 이 방법을 사용하여 현재 사용자 인증서에만 액세스할 수 있습니다.
시스템 저장소가 열리면 모든 표준 인증서 저장소 함수를 사용하여 인증서를 조작할 수 있습니다.
사용 후 CertCloseStore를 사용하여 저장소를 닫아야 합니다.
자동으로 마이그레이션되는 저장소에 대한 자세한 내용은 인증서 저장소 마이그레이션을 참조하세요.
예제
다음 예제에서는 가장 일반적인 시스템 인증서 저장소를 열기 위한 간소화된 방법을 보여 있습니다. 이 함수를 사용하는 또 다른 예제는 예제 C 프로그램: 인증서 저장소 작업을 참조하세요.
//--------------------------------------------------------------------
// Declare and initialize variables.
HCERTSTORE hSystemStore; // system store handle
//--------------------------------------------------------------------
// Open the CA system certificate store. The same call can be
// used with the name of a different system store, such as My or Root,
// as the second parameter.
if(hSystemStore = CertOpenSystemStore(
0,
"CA"))
{
printf("The CA system store is open. Continue.\n");
}
else
{
printf("The CA system store did not open.\n");
exit(1);
}
// Use the store as needed.
// ...
// When done using the store, close it.
if(!CertCloseStore(hSystemStore, 0))
{
printf("Unable to close the CA system store.\n");
exit(1);
}
참고
wincrypt.h 헤더는 CERtOpenSystemStore를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |