May 2, 2023

Windows Application 배포

Windows Application 배포

개발하고 있는 프로그램의 배포를 위해 검색한 자료를 정리해둡니다.

윈도우, Chrome 등에서 개발한 프로그램을 다운받거나 설치할때 경고를 하게 됩니다.

이를 해결하기 위해서 Codesign 이 필요합니다.

문제는 여러가지의 인증서중에서 어떤 인증서를 사용할 것이가 입니다.

현재 개발중인 프로그램의 경우 시스템관련(필터 드라이브) 모듈이 있기때문에 표준인증서가 아닌 EV 인증서를 선택했습니다. 표준인증서의 경우 드라이브파일에 대해서는 인증이 되지 않는 것으로 확인이 됩니다.

EV Code Signing Certificate 사용이유
https://docs.microsoft.com/ko-kr/windows-hardware/drivers/dashboard/get-a-code-signing-certificate

ActiveX control
EV코드 서명 사용 시 평판을 계속 유지시켜 줍니다. 서명을 하였을 때 스마트 스크린필터에 평판이 유지됩니다.
window 10 driver
Window 10에서 드라이버 서명 시 EV 코드만 사용하도록 MS에서 발표하였습니다.

개발자 센터 하드웨어 대시보드 계정
Windows 개발자 센터 하드웨어 대시보드 서비스 모두에 사용할 수 있고 LSA 및 UEFI 파일 서명 서비스에는 꼭 필요합니다.

인증서의ㅇ능에 대해서는 아래 사이트를 참고하시면 확인이 가능합니다.

https://www.instantssl.com/ssl-certificate-products/code-signing-index.html

C:\Program Files (x86)\Windows Kits\10\tools\bin\i386>signtool
SignTool Error: A required parameter is missing.
Usage: signtool  [options]
 
  Valid commands:
    sign       --  Sign files using an embedded signature.
                   임베디드 서명을 사용하여 파일에 서명합니다.
    timestamp  --  Timestamp previously-signed files.
                   이전에 서명 한 파일을 타임 스탬프합니다.
    verify     --  Verify embedded or catalog signatures.
                   내장 또는 카탈로그 서명을 확인합니다.
    catdb      --  Modify a catalog database.
                   카탈로그 데이터베이스를 수정합니다.
    remove     --  Remove embedded signature(s) or reduce the size of an
                   embedded signed file.
                   임베디드 서명을 제거하거나 임베디드 서명 된 파일의 크기를 줄입니다.
 
For help on a specific command, enter "signtool  /?"

서명된 어플리케이션 속성
1
2
3
4

Application Reputation(어플리케이션 명성)
https://www.digicert.com/blog/ms-smartscreen-application-reputation/

SmartScreen의 Application Reputation 엔진은 소프트웨어가 블랙리스트에 올라 있는지 또는 허용 목록에 있는지 여부를 확인합니다. 사용자가 Windows 컴퓨터에서 사용할 수있는 원격 측정 기능에서 발생하여 수집 된 많은 양의 코드 데이터베이스를 검사하여 소프트웨어가 이전에 발견되었는지 여부를 평가합니다. EV (Extended Validation) 코드 서명 인증서를 사용하여 디지털 서명되지 않은 새 코드는 소프트웨어가 평판을 얻지 못했음을 최종 사용자에게 알립니다 (즉, 인터넷에서 일반적으로 다운로드되지 않음). (EV 코드 서명 인증서로 서명 된 SmartScreen® 코드가있는 Windows 8에서는 초기 평판 점수가 더 높습니다. http://blogs.msdn.com/b/ie/archive/2012/08/14/microsoft-smartscreen을 참조하십시오. –amp-extended-validation-ev-code-signing-certificates.aspx ).

인증서가 존재한다고 무조건 경고창이 사라지는것이 아니며 해당 어플리케이션의 서명된 제작자에 대해서 확인되어 축적되어야 합니다.