방법: 응용 프로그램 및 배포 매니페스트 서명How to: Sign Application and Deployment Manifests

ClickOnce 배포를 사용하여 응용 프로그램을 게시하려면 응용 프로그램 및 배포 매니페스트가 공개/개인 키 쌍으로 서명되고 Authenticode 기술로 서명되어야 합니다.If you want to publish an application by using ClickOnce deployment, the application and deployment manifests must be signed with a public/private key pair and signed using Authenticode technology. Windows 인증서 저장소의 인증서 또는 키 파일을 사용하여 매니페스트에 서명할 수 있습니다.You can sign the manifests by using a certificate from the Windows certificate store or a key file.

ClickOnce 배포에 대한 자세한 내용은 ClickOnce 보안 및 배포를 참조하세요.For more information about ClickOnce deployment, see ClickOnce Security and Deployment.

.exe 기반 응용 프로그램의 경우 ClickOnce 매니페스트에 서명하는 것은 선택 사항입니다.Signing the ClickOnce manifests is optional for .exe-based applications. 자세한 내용은 이 문서에서 "서명되지 않은 매니페스트 생성" 섹션을 참조하세요.For more information, see the "Generating Unsigned Manifests" section of this document.

키 파일 만들기에 대한 자세한 내용은 방법: 공개/개인 키 쌍 만들기를 참조하세요.For information about creating key files, see How to: Create a Public-Private Key Pair.

참고

Visual StudioVisual Studio에서는 .pfx 확장명을 가진 PFX(개인 정보 교환) 키 파일만 지원합니다. supports only Personal Information Exchange (PFX) key files that have the .pfx extension. 그러나 프로젝트 속성의 서명 페이지에서 저장소에서 선택을 클릭하여 현재 사용자의 Windows 인증서 저장소에서 다른 형식의 인증서를 선택할 수 있습니다.However, you can select other types of certificates from the current user's Windows certificate store by clicking Select from Store on the Signing page of project properties.

인증서를 사용하여 응용 프로그램 및 배포 매니페스트에 서명하려면To sign application and deployment manifests using a certificate

  1. [프로젝트 속성] 창으로 이동합니다(솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 속성을 선택하거나, 빠른 실행 창에 프로젝트 속성을 입력하거나, 솔루션 탐색기 창 내에서 ALT+ ENTER를 누름).Go to the project properties window (right-click the project node in the Solution Explorer and select Properties, or type project properties in the Quick Launch window, or press ALT+ ENTER inside the Solution Explorer window). 서명 탭에서 ClickOnce 매니페스트 서명 확인란을 선택합니다.On the Signing tab, select the Sign the ClickOnce manifests check box.

  2. 저장소에서 선택 단추를 클릭합니다.Click the Select from Store button.

    인증서 선택 대화 상자가 나타나고 Windows 인증서 저장소의 콘텐츠가 표시됩니다.The Select a Certificate dialog box appears and displays the contents of the Windows certificate store.

    인증서 속성을 보려면 여기를 클릭하십시오.를 클릭하면 인증서 세부 정보 대화 상자가 나타납니다.If you click Click here to view certificate properties, the Certificate Details dialog box appears. 이 대화 상자에는 인증서에 대한 세부 정보 및 추가 옵션이 포함됩니다.This dialog box includes detailed information about the certificate, and includes additional options. 인증서를 클릭하여 추가 도움말 정보를 볼 수 있습니다.You can click certificates to view additional Help information.

  3. 매니페스트에 서명하는 데 사용할 인증서를 선택합니다.Select the certificate that you want to use to sign the manifests.

  4. 또한 타임스탬프 서버 URL 입력란에 타임스탬프 서버의 주소를 지정할 수 있습니다.Additionally, you can specify the address of a timestamp server in the Timestamp server URL text box. 이 서버는 매니페스트가 서명되었을 때 지정한 타임스탬프를 제공합니다.This is a server that provides a timestamp specifying when the manifest was signed.

기존 키 파일을 사용하여 응용 프로그램 및 배포 매니페스트에 서명하려면To sign application and deployment manifests using an existing key file

  1. 서명 페이지에서 ClickOnce 매니페스트 서명 확인란을 선택합니다.On the Signing page, select the Sign the ClickOnce manifests check box.

  2. 파일에서 선택 단추를 클릭합니다.Click the Select from File button.

    파일 선택 대화 상자가 나타납니다.The Select File dialog box appears.

  3. 파일 선택 대화 상자에서 사용할 키 파일(.pfx)의 위치로 이동하고 열기를 클릭합니다.In the Select File dialog box, browse to the location of the key file (.pfx) that you want to use, and then click Open.

    참고

    이 옵션은 .pfx 확장명을 가진 파일만 지원합니다.This option supports only files that have the .pfx extension. 다른 형식의 키 파일 또는 인증서가 있다면 이를 Windows 인증서 저장소에 저장하고 이전 절차에서 설명된 대로 인증서를 선택합니다.If you have a key file or certificate in another format, store it in the Windows certificate store and select the certificate is described in the previous procedure. 선택된 인증서의 목적에는 코드 서명이 포함되어야 합니다.The selected certificate's purpose should include code signing.

    파일을 여는 데 필요한 암호 입력 대화 상자가 나타납니다.The Enter password to open file dialog box appears. .pfx 파일이 이미 Windows 인증서 저장소에 저장되거나 암호로 보호되지 않는 경우에는 암호 입력 프롬프트가 표시되지 않습니다.(If the .pfx file is already stored in your Windows certificate store, or is not password protected, you will not be prompted to enter a password.)

  4. 암호를 입력하여 키 파일에 액세스하고 ENTER 키를 누릅니다.Enter the password to access the key file, and press ENTER.

테스트 인증서를 사용하여 응용 프로그램 및 배포 매니페스트에 서명하려면To sign application and deployment manifests using a test certificate

  1. 서명 페이지에서 ClickOnce 매니페스트 서명 확인란을 선택합니다.On the Signing page, select the Sign the ClickOnce manifests check box.

  2. 테스트용으로 새 인증서를 만들려면 테스트 인증서 만들기 단추를 클릭합니다.To create a new certificate for testing, click the Create Test Certificate button.

  3. 테스트 인증서 만들기 대화 상자에서 테스트 인증서를 보호하는 데 도움이 되는 암호를 입력합니다.In the Create Test Certificate dialog box, enter a password to help secure your test certificate.

서명되지 않은 매니페스트 생성Generating Unsigned Manifests

.exe 기반 응용 프로그램의 경우 ClickOnce 매니페스트에 서명하는 것은 선택 사항입니다.Signing the ClickOnce manifests is optional for .exe-based applications. 다음 절차에서는 서명되지 않은 ClickOnce 매니페스트를 생성하는 방법을 보여 줍니다.The following procedures show how to generate unsigned ClickOnce manifests.

중요

서명되지 않은 매니페스트를 사용하여 응용 프로그램의 개발과 테스트를 간소화할 수 있습니다.Unsigned manifests can simplify development and testing of your application. 그러나 서명되지 않은 매니페스트를 사용하면 프로덕션 환경에 상당한 보안 위험이 추가됩니다.However, unsigned manifests introduce substantial security risks in a production environment. ClickOnce 응용 프로그램이 인터넷 또는 악성 코드의 기타 출처와 완전히 격리된 인트라넷 내의 컴퓨터에서 실행되는 경우에만 서명되지 않은 매니페스트를 사용하는 것이 좋습니다.Only consider using unsigned manifests if your ClickOnce application runs on computers within an intranet that is completely isolated from the internet or other sources of malicious code.

기본적으로 ClickOnce는 하나 이상의 파일이 생성된 해시에서 특별히 제외되는 경우가 아니면 서명된 매니페스트를 자동으로 생성합니다.By default, ClickOnce automatically generates signed manifests unless one or more files are specifically excluded from the generated hash. 즉, ClickOnce 매니페스트 서명 확인란이 선택 취소되더라도 모든 파일이 해시에 포함된 경우에는 응용 프로그램을 게시하면 서명된 매니페스트가 생성됩니다.In other words, publishing the application results in signed manifests if all files are included in the hash, even when the Sign the ClickOnce manifests check box is cleared.

서명되지 않은 매니페스트를 생성하고 생성된 해시에 모든 파일을 포함하려면To generate unsigned manifests and include all files in the generated hash

  1. 해시에 모든 파일이 포함된 서명되지 않은 매니페스트를 생성하려면 먼저 응용 프로그램을 서명된 매니페스트와 함께 게시해야 합니다.To generate unsigned manifests that include all files in the hash, you must first publish the application together with signed manifests. 따라서 이전 절차 중 하나를 수행하여 먼저 ClickOnce 매니페스트에 서명하고 응용 프로그램을 게시합니다.Therefore, first sign the ClickOnce manifests by following one of the previous procedures, and then publish the application.

  2. 서명 페이지에서 ClickOnce 매니페스트 서명 확인란을 선택 취소합니다.On the Signing page, clear the Sign the ClickOnce manifests check box.

  3. 하나의 응용 프로그램 버전만 사용할 수 있도록 게시 버전을 다시 설정합니다.Reset the publish version so that only one version of your application is available. 기본적으로 Visual Studio에서는 응용 프로그램을 게시할 때마다 게시 버전의 수정 버전을 증분합니다.By default, Visual Studio automatically increments the revision number of the publish version every time that you publish an application. 자세한 내용은 방법: ClickOnce 게시 버전 설정을 참조하세요.For more information, see How to: Set the ClickOnce Publish Version.

  4. 응용 프로그램을 게시합니다.Publish the application.

서명되지 않은 매니페스트를 생성하고 생성된 해시에서 하나 이상의 파일을 제외하려면To generate unsigned manifests and exclude one or more files from the generated hash

  1. 서명 페이지에서 ClickOnce 매니페스트 서명 확인란을 선택 취소합니다.On the Signing page, clear the Sign the ClickOnce manifests check box.

  2. 응용 프로그램 파일 대화 상자를 열고 생성된 해시에서 제외할 파일에 대해 해시제외로 설정합니다.Open the Application Files dialog box and set the Hash to Exclude for the files that you want to exclude from the generated hash.

    참고

    해시에서 파일을 제외하면 ClickOnce는 매시페스트의 자동 서명을 사용하지 않도록 구성되므로 이전 절차의 설명처럼 서명된 매니페스트와 함께 먼저 게시할 필요가 없습니다.Excluding a file from the hash configures ClickOnce to disable automatic signing of the manifests, so you do not need to first publish with signed manifests as shown in the previous procedure.

  3. 응용 프로그램을 게시합니다.Publish the application.

참고 항목See Also

강력한 이름의 어셈블리 Strong-Named Assemblies
방법: 공개/개인 키 쌍 만들기 How to: Create a Public-Private Key Pair
프로젝트 디자이너, 서명 페이지 Signing Page, Project Designer
ClickOnce 보안 및 배포ClickOnce Security and Deployment