Microsoft MVP성태의 닷넷 이야기
clickonce 와 smartscreen filter 기능에 대해서 [링크 복사], [링크+제목 복사]
조회: 11793
글쓴 사람
김동진 (dontcryme at naver.com)
홈페이지
첨부 파일
 
안녕하세요.
바쁘신 중을 무릎쓰고
의아한 점이 있어 이렇게 글을 올려 자문을 구하고자 합니다.^^

현재 .NetFramework 4.0 기반의 ClickOnce에서 게시를 하고 있는데요.
ie11기준으로 setup.exe파일이 "일반적으로 다운로드되는 파일이 아니며, 컴퓨터를 손상시킬 수 있습니다."
형식의 메세지와 함께 "작업(A)" 클릭 후 진행 시 뜨는 팝업에서 다시한번

"이 프로그램은 컴퓨터를 손상시킬 수 있습니다."
"실행안함(권장)","프로그램삭제","실행"

이런형태가 나오는데요.

처음엔 Cickonce 서명이 "Unpublisher" 로 나와서 생기는 문제인가 했는데...
게시자를 정상적으로 표기되게 한 후에도 signing 해도 smartscreen filter에 계속 걸리고 있습니다.

사설인증의 경우 "신뢰할 수 있는 루트 인증기관" 에 인증서로 등록하면 된다고 하여
mmc 를 통해 해당 인증서를 등록하고, clickonce로 인해 배포된 setup 파일이 있는 PC에서 해당 setup.exe 속성의 디지털 서명 탭을
확인 해 봐도 올바른 인증서 및 모든게 정상으로 보이는데, smartscreen filter 에 계속 팝업으로 나오는 이유를 모르겠네요..

Clickonce로 setup파일이 배포되는 IIS서버는 windows server 2003 sp1 os상에서 돌고 있으며, 서명파일의 경우

http://www.digitallycreated.net/Blog/38/using-makecert-to-create-certificates-for-development

위 link에 나와있는 데로 진행하였습니다.

하나 다른 점은 위와 같이 최종 작업 후
인증서가 신뢰되지 않는 문제가 있어서 MMC로 신뢰할 수 있는 루트 인증기관에 등록한 다음 해당 파일을 cer로 export 한뒤에 pfx 파일을 생성했습니다.
(Clickonce 매니페스트 서명의 경우 상기 pfx파일을 등록하고 혹시 몰라 Post-Build시 signtool 로 실행파일을 서명하게도 해봤는데 동일합니다.)

smartscreen 필터 자체가 저런식의 팝업이 뜨는 정책은 알겠는데, 서명된 setup파일의 경우는 smartscreen fileter로 걸리지 않는다고 이해한 것 같은데
상기 작업 중 인증과 관련하여 제가 놓치고 있는 부분이 있는건지 ...

읽어주셔서 감사합니다.


p.s : 이유는 모르겠으나, Framework 2.0 으로 했을 땐 SmartScreen Filter 팝업이 안뜨네요;




donaricano-btn



[최초 등록일: ]
[최종 수정일: 10/16/2014 ]


비밀번호

댓글 쓴 사람
 



2014-10-20 01시37분
저도 이 점이 좀 이상했는데요. 아래의 글에 의하면,

Everything you need to know about Authenticode Code Signing
; http://blogs.msdn.com/b/ieinternals/archive/2011/03/22/authenticode-code-signing-for-developers-for-file-downloads-building-smartscreen-application-reputation.aspx

SmartScreen® Application Reputation ? Building Reputation
; http://blogs.msdn.com/b/ie/archive/2011/03/22/smartscreen-174-application-reputation-building-reputation.aspx

명성치를 얻어야 한다고 합니다. 이때 명성치가 할당될 수 있는 키가 파일의 hash 값이거나 디지털 인증서가 됩니다. 파일의 hash 값은 파일이 업데이트되면 다시 계산되므로 바람직하지 않고 디지털 인증서로 서명하는 것이 좋습니다. (또한 EV 인증서라면 좀더 명성치가 높다고도 하는군요. ^^;) 이 때문에 마이크로소프트가 배포하는 exe 파일 조차도 (초기에는 아마도) 저 경고창이 뜬다고 합니다. 그 외에 저도 해보지는 않았지만 "Windows Logo" 프로그램을 신청하는 것도 한 방법이라고 합니다.

----------------------------

한가지 약간 제약을 완화시키는 방법이 있다면? 별다르게 설치할 구성 요소가 없다면 boostrap을 포함할 이유가 없기 때문에 setup.exe보다는 사용자 컴퓨터에 .NET Framework 설치가 안되어 있다면 그냥 마이크로소프트 측의 .NET 설치 파일로 우회하는 것이 좋습니다.

그렇게 해서 설치되었거나, 아니면 .NET 설치가 이미 되어 있는 컴퓨터라면 웹 사이트에서 http://.../[yourapp].application 클릭원스 링크를 제공하시면 됩니다. 그런 경우는 setup.exe를 경유하지 않기 때문에 일반적인 clickonce 절차를 따릅니다.
정성태
2014-10-20 11시37분
[김동진] 소중한 답변 감사드립니다.

아...알려주신 두 Link의 경우 알아보는 중에 잠깐 확인 했었는데...
글 중에 디지털 서명을 통해 인증을 Pass할 수 있다는 소리를 잘못 이해 했었군요...

알려주신 방법대로 [app].application 링크 제공방법으로 수정하거나 좀더 test를 해봐야 겠습니다.

바쁜시간을 내어 정보를 공유해 주신 점 다시한번 감사드립니다.~
[손님]

... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
1288박주만7/8/201415428C# 서비스 기반 데이터베이스(mdf) & InstallShield Limited Edition 설치 및 배포 [2]파일 다운로드1
1287김용환7/8/201413063오라클 db 사용관련 문의입니다. [4]파일 다운로드1
1286C#조으다7/8/20145610WebBrowser 공유기 관리 웹 페이지 인증 [3]
1285C#조으다7/5/20146280IE DocumentComplete 이벤트가 발생되지 않습니다. [2]
1284(none)7/4/20145994(글쓴이의 요청으로 삭제합니다.) [3]
1283김영대7/3/20148199안녕하십니까 정성태님 죄송하지만 SmartClient 에 관한 질문이 있습니다. [9]
1282(none)7/2/20145390(글쓴이의 요청으로 삭제합니다.) [2]
1281(none)7/1/20146022(글쓴이의 요청으로 삭제합니다.) [4]
1280동동이6/25/20146124안녕하세요. ocx의 비동기 또는 쓰레드에서 호출 [1]
1279(none)6/23/20146022(글쓴이의 요청으로 삭제합니다.) [17]
1278이상식6/19/20147085.net DLL 내 자바스크립트를 수정 또는 재정의 할 수 있을까요? [3]
1277김솔지6/18/20145342silverlight에서 datagrid, listbox질문이여 [2]
1276정우석6/16/20145040쿠키 [1]
1274김솔지6/10/20148698배포 페이지 url을 얻고 싶습니다. [8]
1272이훈모6/7/20145300정말 어려운 상황에 직면했습니다. [1]
1270Jongha Kim6/2/201413124C#과 C++을 이용한 Image 처리. [13]
1269김아영5/29/20145441InitializeComponent 함수 호출 지연 현상 [5]
1268솔솔5/27/20144862smart client [1]
1266김솔지5/22/20146338clickonce 수정에 대해 알고싶습니다. [2]
1265이은아5/22/20148834DataGridView 헤더를 두줄이상으로 하고싶습니다. [1]파일 다운로드1
1264김인호5/18/20145908소스코드 및 예제그림 zip 파일 [1]
1263이영종5/15/20145545159페이지 오타인것 같습니다 [5]
1262(none)5/4/20146312(글쓴이의 요청으로 삭제합니다.) [10]
1261이근주5/4/20145178다시 한번 질문드릴께요. [2]
1259이근주5/1/20144786도서 오류인 것 같네요.. [1]
1258최세정4/28/20145452안녕하세요~php module 오류로 고민하다가 여기까지 왔네요..ㅜㅜ [2]
... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...