다음을 통해 공유


인증서 저장소를 사용하여 인증서 관리

일정 기간 동안 인증서는 사용자의 컴퓨터에 누적됩니다. 이러한 인증서를 관리하려면 도구가 필요합니다. CryptoAPI 는 이러한 도구를 인증서를 저장, 검색, 삭제, 나열(열거) 및 확인하는 함수로 제공합니다. CryptoAPI는 메시지에 인증서를 연결하는 방법도 제공합니다.

CryptoAPI는 인증서를 관리하기 위한 두 가지 기본 범주인 인증서 저장소를 관리하는 함수와 인증서를 사용하는 함수, CRL(인증서 해지 목록) 및 해당 저장소 내의 CTL(인증서 신뢰 목록)을 제공합니다.

인증서 저장소를 관리하는 함수에는 위치할 수 있는 논리 또는 가상 저장소, 원격 저장소, 외부 저장소 및 저장소 작업을 위한 함수가 포함됩니다.

인증서, CRLCTL인증서 저장소에서 유지하고 유지 관리할 수 있습니다. 인증 프로세스에 사용하기 위해 유지된 저장소에서 검색할 수 있습니다.

인증서 저장소는 모든 인증서 기능의 중심입니다. 인증서는 "Cert" 접두사로 함수를 사용하여 저장소에서 관리됩니다. 일반적인 인증서 저장소는 다음 그림 과 같이 연결된 인증서 목록입니다.

인증서 저장소

앞의 그림에서는 다음을 보여 줍니다.

  • 인증서 저장소 에는 해당 저장소의 첫 번째 인증서 블록에 대한 포인터가 있습니다.
  • 인증서 블록에는 해당 인증서의 데이터에 대한 포인터와 저장소의 다음 인증서 블록에 대한 "다음" 포인터가 포함됩니다.
  • 마지막 인증서 블록의 "다음" 포인터가 NULL로 설정됩니다.
  • 인증서의 데이터 블록에는 읽기 전용 인증서 컨텍스트와 인증서의 확장 속성이 포함됩니다.
  • 각 인증서의 데이터 블록에는 존재하는 인증서에 대한 포인터 수를 추적하는 참조 수가 포함됩니다.

인증서 저장소의 인증서는 일반적으로 디스크 파일 또는 시스템 레지스트리와 같은 일종의 영구 스토리지에 보관됩니다. 인증서 저장소를 만들고 메모리에서 엄격하게 열 수도 있습니다. 메모리 저장소는 보관할 필요가 없는 인증서를 사용하기 위한 임시 인증서 스토리지를 제공합니다.

추가 저장소 위치를 사용하면 로컬 컴퓨터 레지스트리의 다양한 부분에서 저장소를 유지하고 검색하거나, 적절한 사용 권한이 설정된 상태에서 원격 컴퓨터의 레지스트리에서 저장소를 검색할 수 있습니다.

각 사용자에게는 해당 사용자의 인증서가 저장되는 개인 내 저장소가 있습니다. 내 저장소는 로컬 또는 원격 컴퓨터의 레지스트리, 디스크 파일, 데이터베이스, 디렉터리 서비스, 스마트 카드 또는 다른 위치를 비롯한 여러 물리적 위치 중 하나에 있을 수 있습니다. 내 저장소에 인증서를 저장할 수 있지만 이 저장소는 사용자의 개인 인증서(해당 사용자의 메시지에 서명하고 암호를 해독하는 데 사용되는 인증서)를 위해 예약되어야 합니다.

인증에 인증서를 사용하는 것은 일부 신뢰할 수 있는 인증서 발급자에서 발급한 인증서에 따라 달라집니다. 신뢰할 수 있는 인증서 발급자에 대한 인증서는 일반적으로 현재 레지스트리 하위 키에 유지되는 루트 저장소에 유지됩니다. CryptoAPI 컨텍스트에서 루트 저장소는 보호되며 사용자 인터페이스 대화 상자는 신뢰할 수 있는 인증서만 해당 저장소에 배치하도록 사용자에게 알려 줍니다. 엔터프라이즈 네트워크 상황에서는 시스템 관리자가 도메인 컨트롤러 컴퓨터에서 클라이언트 컴퓨터의 루트 저장소로 인증서를 푸시(복사)할 수 있습니다. 이 프로세스는 유사한 신뢰 목록을 가진 도메인의 모든 멤버를 제공합니다.

다른 인증서는 CA( 인증 기관 ) 시스템 저장소 또는 사용자가 만든 파일 기반 저장소에 저장할 수 있습니다.

인증서 저장소를 사용하고 유지 관리하기 위한 함수 목록은 인증서 저장소 함수를 참조하세요.

이러한 함수 중 일부를 사용하는 예제는 예제 C 프로그램: 인증서 저장소 작업을 참조하세요.

인증서 저장소 상태 관리

인증서 저장소에서 인증서 작업

인증서 링크

컬렉션 저장소

논리 및 물리적 저장소

시스템 저장소 위치

인증서 저장소 마이그레이션