카탈로그 파일 및 디지털 서명
디지털 서명된 카탈로그 파일(.cat)은 임의의 파일 컬렉션에 대한 디지털 서명으로 사용할 수 있습니다. 카탈로그 파일에는 암호화 해시 또는 지문 컬렉션이 포함되어 있습니다. 각 지문은 컬렉션에 포함된 파일에 해당합니다.
PnP(플러그 앤 플레이) 디바이스 설치는 드라이버 패키지의 서명된 카탈로그 파일을 드라이버 패키지의 디지털 서명으로 인식합니다. 카탈로그 파일의 각 지문은 드라이버 패키지가 설치하는 파일에 해당합니다. 의도한 운영 체제에 관계없이 암호화 기술은 카탈로그 파일에 디지털 서명하는 데 사용됩니다.
PnP 디바이스 설치는 드라이버 패키지에 서명된 후 드라이버 패키지의 파일이 변경된 경우 드라이버 패키지의 디지털 서명이 유효하지 않다고 간주합니다. 이러한 파일에는 INF 파일, 카탈로그 파일 및 INF CopyFiles 지시문에 의해 복사된 모든 파일이 포함됩니다. 예를 들어 맞춤법 오류를 수정하기 위해 싱글바이트 변경이라도 디지털 서명을 무효화합니다. 디지털 서명이 유효하지 않은 경우 새 서명을 위해 드라이버 패키지를 Windows 하드웨어 개발자 센터 다시 제출하거나 드라이버 패키지에 대한 새 Authenticode 서명을 생성해야 합니다.
마찬가지로, 디바이스의 하드웨어 또는 펌웨어를 변경하려면 시스템이 업데이트된 디바이스를 검색하고 올바른 드라이버를 설치할 수 있도록 수정된 디바이스 ID 값이 필요합니다. 수정된 디바이스 ID 값이 INF 파일에 나타나야 하므로 새 서명을 위해 Windows 하드웨어 개발자 센터 패키지를 다시 제출하거나 드라이버 패키지에 대한 새 Authenticode 서명을 생성해야 합니다. 드라이버 이진 파일이 변경되지 않더라도 새 디바이스 ID를 가져와야 합니다.
드라이버 INF 파일의 INF 버전 섹션에 있는 CatalogFile 지시문은 드라이버 패키지에 대한 카탈로그 파일의 이름을 지정합니다. 드라이버를 설치하는 동안 운영 체제는 CatalogFile 지시문을 사용하여 카탈로그 파일을 식별하고 유효성을 검사합니다. 시스템은 GetSystemDirectory에서 반환된 시스템 디렉터리(예: %SystemRoot%\System32\CatRoot)의 CatRoot 디렉터리에 카탈로그 파일을 설치합니다. 카탈로그 파일을 해당 디렉터리에 수동으로 추가하거나 제거해서는 안 됩니다. 드라이버 패키지의 경우 드라이버 패키지가 드라이버 저장소로 준비되면 카탈로그 파일이 CatRoot에 자동으로 설치됩니다. 드라이버 패키지가 드라이버 저장소에서 제거되면 CatRoot에서 카탈로그 파일이 자동으로 제거됩니다. 드라이버 패키지 외부에서 이유로 CatRoot에 카탈로그 파일을 설치해야 하는 경우 SignTool을 사용하여 카탈로그 파일 설치 및 CryptCATAdminAddCatalog를 사용하여 카탈로그 파일 설치를 참조하세요.
카탈로그 파일에 대한 지침
Windows 2000부터 드라이버 패키지가 모든 버전의 Windows에 동일한 이진 파일을 설치하는 경우 INF 파일에는 디코데이션되지 않은 단일 CatalogFile 지시문이 포함될 수 있습니다. 그러나 패키지가 다른 버전의 Windows에 대해 다른 이진 파일을 설치하는 경우 INF 파일에 데코레이팅된 CatalogFile 지시문이 포함되어야 합니다. CatalogFile 지시문에 대한 자세한 내용은 INF 버전 섹션을 참조하세요.
둘 이상의 드라이버 패키지가 있는 경우 각 드라이버 패키지에 대해 별도의 카탈로그 파일을 만들고 각 카탈로그 파일에 고유한 파일 이름을 지정해야 합니다. 관련이 없는 두 드라이버 패키지는 단일 카탈로그 파일을 공유할 수 없습니다. 그러나 여러 디바이스를 제공하는 단일 드라이버 패키지에는 카탈로그 파일이 하나만 필요합니다.