2010-02-17 3 views
16

Vista에서 UAC 경고를 피할 수 있도록 배포하고 서명해야하는 앱이 있습니다. 내가 설치 프로그램을 만들 비주얼 스튜디오를 사용하고 있지만, 앱을 그물로 작성되지 않은Vista의 UAC 경고를 방지하기 위해 설치 프로그램에 서명하는 방법

UAC http://img694.imageshack.us/img694/7289/uac.jpg

현재 내가 ...이를 참조하십시오. .msi와 .msi에 포함 된 .exe에 모두 서명해야합니까? 어떤 종류의 열쇠가 필요하며 어디에 가져 가야합니까? 현재 그들은 비싸다고 생각하지만 비싸다고 믿고 있습니다. 일단 열쇠를 얻으면 어떻게 서명합니까? 내가 undestand 오른쪽 al.exe 및 signtool.exe에 대한 경우. NET 어셈블리가 맞습니까? 감사!

답변

13

이 대화 상자는 가장 무서운 대화입니다. 신청서에 서명 되었으나 서명되지 않은 경우에는 덜 위험합니다. (즉, 귀하가 서명 한 것입니다). 그것을 완전히 우회하기 위해서는 정말로 반대 서명이 필요합니다.

Windows에는 신뢰할 수있는 루트 인증 기관 목록 (MMC.EXE> 스냅인 추가> 인증서> 컴퓨터 계정)이 들어 있습니다. 그 중 일부는 "코드 서명"을위한 것이며, 이는 인증 기관이 서명에 반대 서명 할 수 있음을 의미합니다. Verisign이 그 목록에 있습니다. 기업 인터넷에서 작업하는 경우 회사의 서명이있을 수도 있고있을 수도 있습니다.

어쨌든 일단 인증서를 받으면 실제로 signtool을 사용하여 앱과 설치 프로그램에 서명해야합니다. 자신의 앱에 서명하는 것은 좋은 습관이며 구성 관리에서 많은 도움이됩니다. Signtool에는 GUI가 있지만 CLI 모드에서도 사용할 수 있습니다. 후자는 빌드 프로세스가 키를 한 번 프롬프트 한 다음 설치 프로그램까지 모든 것을 빌드하기를 원할 때 유용합니다. (회사 인증서의 암호를 빌드 프로세스에 하드 코드하지 마십시오!).

하지만 이전에 말씀 드린 것처럼 서명되지 않은 서명으로 서명 할 수도 있습니다. 이는 전체 프로세스가 중단되고 자동화 된 빌드를 수행 할뿐만 아니라 테스트에도 매우 유용합니다.

+1

어떻게 작동하는지 보여주는 참조 또는 웹 사이트가 있습니까? 그것에 대해 많은 문서를 찾을 수 없습니다. 감사합니다 – Mmarquee

+3

본 적이 있습니까 http://msdn.microsoft.com/en-us/library/ms537361(VS.85).aspx? Microsoft의 코드 서명 기술은 "Authenticode"라고 불리우며 몇 가지 사이트가 추가로 나타납니다. – MSalters

관련 문제