드라이버 서명

64비트 버전 Windows에서 실행되는 모든 드라이버는 Windows가 드라이버를 로드하기 전에 서명되어야 합니다. 그러나 Windows 32비트 버전에서는 드라이버 서명이 필요하지 않습니다.

드라이버에 서명하려면 인증서가 필요합니다. 개발 및 테스트 중에 드라이버에 서명하는 데 사용할 고유 인증서를 만들 수 있습니다. 그러나 공개 릴리스의 경우 신뢰할 수 있는 루트 기관에서 발급한 인증서를 사용하여 드라이버에 서명해야 합니다.

참고  드라이버 패키지 프로젝트는 다른 프로젝트의 출력을 패키징할 수 있습니다. 드라이버 패키지 프로젝트를 빌드하는 경우 Microsoft Visual Studio는 종속성이 있는 다른 프로젝트를 빌드합니다. 드라이버 패키지 프로젝트에는 다른 종속 프로젝트와 분리된 고유한 드라이버 서명 속성이 있고, 해당 드라이버 서명 속성은 오직 드라이버 패키지 프로젝트에서 생성된 카탈로그(있는 경우)에만 적용됩니다. 즉, 다른 드라이버 프로젝트에 서명하는 데 다른 인증서(예: 테스트 인증서)가 사용될 수 있기 때문에 드라이버 패키지 프로젝트는 포함된 서명을 다른 프로젝트에서 생성된 드라이버 이진에 자동으로 추가하지 않습니다. 이러한 경우의 결과는 실수로 이진에 서명하는 데 사용한 인증서와 패키지 카탈로그에 서명하는 데 사용한 인증서가 다른 드라이버 패키지가 됩니다. 이로 인해 성능이 저하될 수 있습니다. 예를 들어 부팅 시작 드라이버 이진의 포함된 서명이 잘못된 경우 Windows에서 서명된 인증서를 사용하여 이진을 확인할 수 없습니다. 대신, Windows에서 카탈로그의 서명에 대해 이진을 확인해야 하며 이로 인해 부팅 시간이 늘어날 수 있습니다.

 

이 섹션에서는 Visual Studio를 사용하여 드라이버 패키지에 서명하는 방법에 대해 설명합니다.