서명 된 응용 프로그램을 설치할 때 Win8에서 스마트 화면을 전달하는 방법은 무엇입니까?


80

우리는 개발자이며 디지털 서명 된 응용 프로그램 설치 프로그램이 있습니다. 이 응용 프로그램을 설치하면 설치 경험에 영향을 미치는 스마트 화면이 팝업됩니다. 그것은 말한다

Windows가 PC를 보호했습니다.

Windows SmartScreen이 인식 할 수없는 앱의 시작을 차단했습니다.이 앱을 실행하면 PC가 위험에 처할 수 있습니다.

Microsoft는 디지털 서명 외에 응용 프로그램을 확인하는 몇 가지 전략을 가지고 있다고 생각합니다. 누구든지이 문제에 대한 경험이 있으며이 문제를 해결할 수있는 단서를 제공합니까?

답변:


47

CA에서 구입 한 인증서로 설치 프로그램에 서명 한 경우이 경고를 제거하기 위해 Microsoft와 함께 작업하지 못한 이유에 대한 설명을 위해 CA에 문의해야합니다.

인증서가 CA가 아니라 자체 서명 된 인증서 인 경우 CA에 의존해야합니다.

Microsoft는 이미 Windows 팀 블로그에 대부분의 정보를 게시했습니다.

https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signing-certificates/

모범 사례

개발자는 이전 블로그 게시물에서 제안한 모범 사례를 따라야합니다. 이 지침에 Windows 스토어를 통해 앱을 배포하는 추가 옵션과 EV 코드 서명 옵션을 추가했습니다.

  • Windows 스토어를 통해 앱 배포

Windows 스토어 개발자 온 보딩 및 애플리케이션 검토 프로세스를 통과하려면 Windows 8 애플리케이션이 필요합니다. Windows 8 응용 프로그램은 Windows 8의 SmartScreen 응용 프로그램 평판 확인 또는 경고 범위에 포함되지 않습니다.

  • 프로그램에 디지털 서명 (표준 또는 EV 코드 서명)

평판이 생성되고 디지털 인증서와 특정 파일에 할당됩니다. 디지털 인증서를 사용하면 데이터를 집계하여 여러 개별 프로그램이 아닌 단일 인증서에 할당 할 수 있습니다. 필수는 아니지만 EV 코드 서명 인증서로 서명 된 프로그램은 해당 파일 또는 게시자에 대한 이전 평판이없는 경우에도 SmartScreen 평판 서비스로 평판을 즉시 설정할 수 있습니다. EV 코드 서명 인증서에는 인증서 갱신시 평판을보다 쉽게 ​​유지할 수있는 고유 식별자도 있습니다. Windows 루트 인증서 프로그램의 구성원 인 CA에서 발급 한 Authenticode 인증서 만 평판을 설정할 수 있습니다.

현재 시만텍과 DigiCert는 EV 코드 서명 인증서를 제공하고 있습니다.

  • 악성 코드에 서명하거나 배포하지 마십시오.

악성으로 탐지 된 코드를 배포하면 EV 코드 서명 인증서로 서명 된 경우에도 파일에서 평판이 제거되고 관련 디지털 인증서에서 평판이 제거됩니다.

  • Windows 로고 또는 Windows 8 데스크톱 앱 인증 신청

여기에서 이러한 프로그램에 대해 자세히 알아보십시오. Windows 8 데스크톱 앱 인증 (Windows 스토어 제출에 필요) Windows 로고 프로그램


"인증서가 CA가 아니라 자체 서명 된 인증서 인 경우 CA에 의존해야합니다." 애호가 또는 마이크로 ISV가 CA가 청구하는 연간 약 $ 110의 수수료를 어떻게 회수해야합니까?
Damian Yerrick

1
"과거에 논의했듯이 SmartScreen은 개별 프로그램과 해당 코드에 서명하는 데 사용되는 인증서에 대한 명성을 쌓았습니다." 링크 된 Microsoft 블로그 게시물에서 인용했습니다. 많은 오픈 소스 프로젝트는 그들의 평판에 의존하지만, 서명하고 싶다면 비용을 충당하기 위해 후원을 요청할 수도 있습니다.
Lex Li

48

방금 이전 Authenticode 인증서에서 인증서로 이동하는 전체 프로세스를 거쳤습니다 (EV 인증서가 아니라 자동화 된 빌드 프로세스에서 사용할 수있는 일반 인증서).

Microsoft는 더 이상 기존 인증서에서 새 인증서로 평판을 이전하는 수단을 제공하지 않습니다. 그러니 그들의 지원을 요청하지 마십시오. 당신은 많은 시간과 에너지를 낭비하게 될 것입니다. 그리고 그들은 도울 수 없을 것입니다.

Microsoft는 이전 인증서와 새 인증서에 동일한 텍스트 콘텐츠가 있으면 명성이 더 빨리 확립된다고 주장합니다. 보다 구체적으로, SmartScreen® Filter의 Application Reputation 기능 지원 팀 으로부터받은 답변은 다음과 같습니다.

평판이 알려진 인증서를 갱신 할 때마다 갱신 된 인증서로 서명 된 파일을 처음 다운로드 할 때 몇 가지 경고가 표시 될 수 있습니다. 그러나 갱신 된 인증서에 대한 알려진 평판은 일반적으로 새 인증서보다 더 빠르게 설정됩니다. 갱신 된 인증서가 평판을 구축하는 동안 사용자는 계속 클릭하여 다운로드를 실행하거나 저장할 수 있습니다. 이를 위해 Actions | 더 많은 옵션 | 다운로드 관리자에서 실행하십시오.

SmartScreen이 사용자에게 경고하지 않도록하는 가장 좋은 방법 은 Windows SDK 다운로드에 포함되어야하는 WACK (Windows 앱 인증 키트 )를 실행하는 것입니다 .

Windows 앱 인증 키트

테스트를 실행 한 후 WACK은 진행 방법을 설명합니다.

최종 보고서-검증 통과

성공적인 애플리케이션 인증의 XML 결과를 https://sysdev.microsoft.com에 업로드합니다 . 며칠 후 SmartScreen은 인증 된 프로그램에 사용 된 디지털 서명을 인식하고 더 이상 다운로드시 사용자에게 경고하지 않습니다.

참고 Windows 8.1의 최신 업데이트에서 응용 프로그램을 인증 할 수 없었으며 모든 프로그램의 유효성을 검사하기 위해 WACK를 얻으려면 Windows 8.1을 새로 설치해야했습니다.


15
이 프로세스를 완료하는 데 약 2 시간이 걸렸다는 점을 말씀 드리고 싶습니다. 프로젝트의 규모가 중요한지 잘 모르겠지만, 이것은 2 분 과정이 아닙니다.
leigero


9
MS가 sysdev.microsoft.com을 은퇴 한 것 같습니다. 지금 파일을 업로드 할 위치를 알고 있습니까?
Shchvova

3
MS가 sysdev.microsoft.com을 은퇴 한 것 같습니다. 지금 파일을 업로드 할 위치를 알고 있습니까?
피닉스

2
대신 여기에 파일을 제출하십시오. microsoft.com/en-us/wdsi/filesubmission
Rami A.

15

한동안 검색해 왔으니 지금까지 찾은 내용을 공유하겠습니다.

Microsoft의 Windows 8에서이 기능에 대한 문서를 찾지 못했지만 잘못된 위치를 찾고있을 수 있습니다.

필자가 읽은 대부분의 기사에서는 SmartScreen 필터가 다음과 같이 작동한다고 설명합니다.

  • 다운로드 한 설치 프로그램 또는 실행 파일을 실행하기 전에 Windows 8은 데이터베이스를 참조합니다.
  • 데이터베이스는 해당 프로그램이 다음과 같은지 여부를보고 할 수 있습니다.
    • 악성 / 피싱으로보고되고 Microsoft 직원이 확인했습니다.
    • 많은 사람들이 사용 / 운영합니다.

충분한 사람들이 해당 설치 프로그램을 악의적이라고보고하지 않고 실행했다면 결국 해당 프로그램은 안전한 것으로 표시되고 다른 사용자는 성가신 메시지를받지 않게됩니다.

일부 출처 : ( 여기 ) ( 여기 )

사용자가 프로그램을 설치할 때 Microsoft로 전송되는 정보에는 IP 주소, 설치 관리자의 해시 및 디지털 서명, 응용 프로그램의 파일 이름이 포함됩니다. ( 여기 참조 )

Microsoft 직원은 데이터베이스에 직접 액세스하여 모든 Microsoft 응용 프로그램을 추가하고 안전하게 플래그를 지정할 수 있습니다.

아마도 Microsoft는 설치 프로그램을 사전 인증하는 방법을 설정했을 것입니다. 그렇지 않은 경우 충분한 사람들이 설치 프로그램을 실행할 때까지 기다려야 할 수도 있습니다. (하지만 얼마나 많은지 확실하지 않습니다).


에 대한 링크 log.nadim.cc/?p=78가 끊어졌으며 Way Back Machine조차도 콘텐츠를 공개하지 않습니다. 콘텐츠에 대한 대체 위치가 있습니까?
우베 KEIM

12

방금이 과정을 거쳤고 여기에 약간의 정보를 추가하겠습니다.

1) EV를 얻으십시오. 그것은 가치. 다음에 인증서를 업그레이드 할 때 EV 인증서로 업그레이드하십시오. 가격은 연간 약 $ 100 이상입니다. EV 인증서는 훔치기가 더 어렵 기 때문에 더 안전한 것으로 간주됩니다. 귀하에게 발급되면 서명을 완료하기 위해 하드웨어 토큰 장치가 발급됩니다. 불행히도 최종 신호는 자동화 된 빌드와 호환되지 않습니다.

소리만큼 끔찍하지 않습니다. 자동화와 호환되는 실행 파일 (설치 프로그램 내부)에 서명하기위한 두 번째 인증서를 제공합니다. 설치 프로그램의 서명은 하드웨어 토큰과 함께 서명되어야합니다.

2) EV 인증서를 받고 싶지 않다면 평판이 필요합니다. 업그레이드하는 경우 Microsoft는 이전 인증서의 평판을 새 인증서로 전송합니다. MSDN 기술 지원에 문의해야하며 약 1 주일 후에 완료됩니다. 이전 및 새 인증서와 함께 이전 및 새 설치 프로그램을 제출하고 수정했습니다.

3) 이것이 첫 번째 인증서 인 경우 평판을 얻을 때까지 SmartScreen에 붙어 있습니다. sysdev.microsoft.com을 통해 앱 인증을 받아야 할 것입니다. 그러나 Microsoft에서 긍정적 인 평판을 얻기 전에 얼마나 많은 다운로드가 필요한지 실제로는 알 수 없습니다.

그것이 제 경험입니다.


3
이전 인증서의 평판을 이전하기 위해 앱을 제출할 위치를 알려주시겠습니까?
CITBL 2014

1
MSDN 구독을 사용하여 개발자 지원을 요청했습니다.
Lompican 2014 년

2
방금 Microsoft와 함께 전체 프로세스를 진행했습니다. 분명히 MSDN 기술 지원은 더 이상이 주제에 대한 지원을 제공하지 않습니다. SmartScreen 경고가 사라지 도록하려면 평판 을 구축해야합니다 . 가장 간단한 방법은 Windows 앱 인증서 키트로 앱을 확인한 다음 결과를 sysdev.microsoft.com에 업로드하는 것입니다.
Pierre Arnaud

기업이 아닌 개인도 EV를 사용할 수 있습니까? 애호가가 돈을 모으려면 어떤 조치를 취해야합니까?
Damian Yerrick

5

Windows 8.1이 나왔기 때문에.

  • Microsoft는 인터넷을 통해 PC에 다운로드하여 설치하려고 할 때 신뢰할 수있는 모든 표준 코드 서명 인증서를 비활성화했지만, USB 또는 CD-ROM을 통해 응용 프로그램을 배포하는 경우 표준 코드 서명 인증서 응용 프로그램이 작동합니다.

  • 를 사용하여 signtool.exe확인 하지 마십시오 ( signtool.exe verify /pa mysetup.exe성공을 표시하지만 다른 사용자가 다운로드하고 SmartScreen 팝업을 설치하려고하면 실패합니다. 팝업이 계속 표시됨)

WACK (Windows 앱 인증 키트) 사용

여기에 이미지 설명 입력

  • 이 표준 코드 서명 인증서는 죽었습니다. 표준 코드 서명 인증서가있는 경우 Windows 앱 인증 키트 (WACK)가 경고와 함께 PASS를 표시하더라도 100 % 확인 성공을 의미하지는 않지만 과거와 같이 더 이상 안정적으로 작동하지 않습니다.

여기에 이미지 설명 입력

EV 인증서 ( https://www.globalsign.com/en/code-signing/) 를 구매해야합니다. )

따라서 100 % 성공하려면 스푼 피드를 따르세요.

1 단계 : https://sysdev.microsoft.com 으로 이동 로그인합니다.

a) 회사 계정 만들기> 다음

b) Microsoft에서 제공하는 zip 파일 인 winqual.exe 파일을 다운로드하고 이제 표준 인증서 또는 EV 인증서로 winqual.exe에 서명 한 다음 다음을 클릭하여 유효성 검사를 위해 파일을 업로드합니다.

제 경우에는 Microsoft가 더 이상 허용하지 않는 표준 인증서가 있기 때문에 실패했습니다. 따라서 지금해야 할 일은 EV 라이센스를 구입하는 것입니다. 그렇지 않으면 실수로이 문제를 단서없이 해결하는 데 평생을 보낼 수 있습니다.

여기에 이미지 설명 입력


4
이것은 드라이버 개발을위한 것입니다.
crea7or

그렇다면 누구나 스마트 스크린을 피하기 위해 연간 290 달러의 인증서를 구입해야합니까?
user3304007 2017

4

EV cert 솔루션을 테스트했으며 작동합니다.

안타깝게도 EV 인증서는 서비스 컨텍스트에서 서명을 실행하는 TeamBuild와 호환되지 않는다는 점도 언급하겠습니다. EV 인증서에는 모든 공인 EV 인증서 공급 업체 (VeriSign 및 DigiCert)와 함께 사용하기 위해 SafeNet, Inc에서 제공하는 암호화 서비스 제공 업체와 인터페이스하는 하드웨어 토큰이 필요합니다.

서명이 발생하면 Safenet의 드라이버는 서비스 컨텍스트에서 실행하는 것과 다소 호환되지 않는 암호를 입력하라는 메시지를 표시합니다. 또한 Safenet은 실제 콘솔이 아닌 다른 곳에서 서명하는 것을 방지하는 보호 기능을 제공합니다. 원격 데스크톱 세션 내에서도 서명 할 수 없습니다. 따라서 Teambuild 내에서 서명하는 것은 기껏해야 문제가되고 최악의 경우에는 불가능합니다.

저는 Microsoft와 함께 일했지만 서명에 대한 해결 방법이나 SmartScreen에서 즉각적인 평판을 얻을 수있는 다른 방법을 제공 할 수 없었습니다.


1

불행히도 위의 답변 중 하나에 대해 간단히 언급 할 충분한 담당자가 없습니다. 그러나 게시 된 앱에 부분 신뢰를 지정하고 (인터넷 영역 선택) 코드 서명 인증서가있는 경우 스마트 화면 경고가 표시되지 않습니다 (Win10에서 확인 됨).


1

토큰의 EV 인증서 (GlobalSign)를 사용하여 자동화 된 방식으로 애플리케이션에 서명합니다. .bat 파일을 사용하십시오. ".bat"파일에 ex : (sha1의 경우)를 입력합니다.

SignTool.exe sign /n "Exact Enterprise name in the cert - token" /t "http://timestamp.globalsign.com/scripts/timstamp.dll" "c:\Patch_to_file\Filename.exe"

"인증서-토큰의 정확한 엔터프라이즈 이름"은 인증서 (token)에있는 정확한 이름이어야합니다.


1
그리고 그것은 스마트 스크린 대화 상자를 제거 했습니까?
user3304007 2017

0

"파일 버전이 실행중인 Windows 버전과 호환되지 않습니다." Windows 2008 서버에는 설치를 선택할 수있는 '추가 정보'버튼이 없습니다.

타사 제품 (Delphi)을 사용하여 Windows 데스크톱 소프트웨어 ( '앱'이 아님)를 개발하고 설치 프로그램에 Innosetup을 사용하므로 앱 유효성 검사는 의미가 없습니다. 30 분 동안 아무 작업도하지 않고 그냥 앱을 시작한 다음 수동으로 앱을 닫으면 통과 보고서가 생성됩니다.

우리는 모든 릴리스와 그 안의 모든 실행 파일에 서명합니다.

XML을 Microsoft에 업로드 할 때 인증 된 XML은 Microsoft Store에 게시 할 방법이없는 주 개발자 계정과 관련없는 사이트에 있습니다. 애플리케이션 당 45 분이 낭비되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.