다음을 통해 공유


논리 및 물리적 저장소

MY, CA 및 ROOT를 포함한 기본 시스템 저장소는 멤버 저장소로 미리 정의된 여러 물리적 저장소가 있는 논리 컬렉션 저장소로 구현됩니다. 시스템 저장소가 열리면 시스템 저장소의 멤버 물리적 저장소가 자동으로 열립니다. 사용자는 모든 시스템 저장소 컬렉션에 물리적 저장소를 추가할 수 있습니다. CryptoAPI 함수 CertRegisterPhysicalStore 는 시스템 저장소 컬렉션에 새 물리적 저장소를 추가합니다. CertUnregisterPhysicalStore 는 논리 시스템 저장소에서 물리적 저장소를 분리합니다. CertRegisterSystemStore 는 레지스트리 hKey 아래에 새 시스템 저장소를 만들고 CertUnregisterSystemStore 는 레지스트리에서 시스템 저장소를 제거합니다.

CryptoAPI에서 시스템 저장소는 연결된 실제 저장소가 있는 논리적 저장소입니다. 기존 시스템 저장소의 모든 인증서는 계속 사용할 수 있으며, 새 인증서의 물리적 추가는 논리 시스템 저장소를 구성하는 실제 저장소에서 만들어집니다.

물리적 시스템 저장소를 계속 사용하고 논리 저장소로 변환하지 않으려는 사용자는 CERT_STORE_PROV_SYSTEM_REGISTRY 공급자와 함께 시스템 저장소를 열 수 있습니다. 이 공급자는 각 시스템 저장소를 단일 물리적 저장소로 계속 사용합니다.

CertEnumSystemStoreLocation, CertEnumSystemStoreCertEnumPhysicalStore 함수는 시스템 저장소 위치, 사용 가능한 시스템 저장소 및 시스템 저장소의 멤버인 모든 물리적 저장소를 나열합니다.

시스템 저장소를 재배치할 수도 있습니다. 기본적으로 시스템 저장소는 미리 정의된 패턴에 따라 레지스트리 하위 키를 기준으로 열립니다. 자세한 내용은 시스템 저장소 위치를 참조하세요. CertOpenStore에 전달된 dwFlags 매개 변수에서 CERT_SYSTEM_STORE_RELOCATE_FLAG 설정하면 시스템 저장소가 미리 정의된 하위 키 대신 사용자 지정 레지스트리 하위 키 아래에 레지스트리에 배치됩니다.