CryptCATAdminAddCatalog를 사용하여 카탈로그 파일 설치

설치 프로그램은 CryptCATAdminAddCatalog 및 기타 CryptCATAdminXxx 암호화 함수를 사용하여 시스템 구성 요소 및 드라이버 데이터베이스에 카탈로그 파일을 프로그래밍 방식으로 설치할 수 있습니다.

설치 프로그램은 다음과 같은 방법으로 Windows 7 및 .NET Framework 4.0용 Microsoft Windows SDK(소프트웨어 개발 키트)를 사용해야 합니다.

  • 설치 프로그램의 원본 파일에는 다음 헤더(.h) 파일이 포함되어야 합니다.

    • Mscat.h - 다양한 CryptCATAdminXxx 함수에 대한 프로토타입 및 구조를 정의합니다.
    • Softpub.h - CryptCATAdminXxx 함수에서 사용되는 다양한 데이터 구조 및 GUID를 정의합니다.
  • 설치 프로그램은 Wintrust.lib에 연결해야 합니다.

이러한 CryptCATAdminXxx 암호화 함수를 사용하려면 설치 프로그램에서 다음을 수행합니다.

  1. CryptCATAdminAcquireContext를 호출하여 카탈로그 관리자 컨텍스트에 대한 핸들을 가져옵니다. 애플리케이션은 pgSubsystem 입력 매개 변수를 GUID DRIVER_ACTION_VERIFY 대한 포인터로 설정하여 하위 시스템을 식별합니다. 이 GUID는 Softpub.h에 정의되어 있습니다.

  2. CryptCATAdminAddCatalog를 호출하여 카탈로그 파일을 시스템 구성 요소 및 드라이버 데이터베이스에 추가합니다. 설치 프로그램은 1단계에서 가져온 카탈로그 관리자 컨텍스트, 카탈로그 파일의 정규화된 경로에 대한 포인터 및 함수가 데이터베이스에 카탈로그 파일의 복사본을 설치하는 데 사용하는 카탈로그 파일 이름에 대한 포인터에 핸들을 제공합니다. 함수는 데이터베이스에 추가된 카탈로그 파일의 카탈로그 정보 컨텍스트에 대한 핸들을 반환합니다.

  3. CryptCATAdminReleaseCatalogContext를 호출하여 카탈로그 파일의 카탈로그 정보 컨텍스트에 대한 핸들을 해제합니다. 설치 프로그램은 1단계에서 가져온 카탈로그 관리자 컨텍스트에 핸들을 제공하고 2단계에서 반환된 카탈로그 정보 컨텍스트에 대한 핸들을 제공합니다.

  4. CryptCATAdminReleaseContext를 호출하여 카탈로그 관리자 컨텍스트에 대한 핸들을 해제합니다. 애플리케이션은 1단계에서 가져온 카탈로그 관리자 컨텍스트에 핸들을 제공합니다.