Windows 앱 개발자를 위한 코드 서명 옵션

Microsoft Store 통해 앱을 MSIX 패키지로 게시하는 경우 코드 서명은 무료이며 자동으로 처리됩니다. Microsoft 인증 후에 패키지를 다시 서명하므로 인증서를 구입하거나 관리할 필요가 없습니다. 스토어에서 MSI/EXE 설치 프로그램으로 게시하려면, 제출 전에 설치 프로그램에 Authenticode 서명을 직접 처리해야 합니다. 이 문서의 다른 모든 내용은 Microsoft Store 외부에서 배포된 앱에 적용됩니다.

한눈에 비교

Option Cost 가용성 SmartScreen 동작 자격 기준을 충족하는 매장 적합한 대상
Microsoft Store(MSIX) – 스토어가 패키지에 다시 서명합니다 무료 전 세계 ✅ 경고 없음 ✅ 예 대부분의 새 앱에 권장됨
Microsoft Store(MSI/EXE 설치 관리자) — 게시자는 서명해야 합니다. 신뢰할 수 있는 루트 프로그램 CA 에 대한 인증서 연결 필요(CA에 따라 다름) 전 세계 ✅ 스토어 설치 중에 SmartScreen 프롬프트가 표시되지 않음(UAC가 계속 표시됨) ✅ 예 MSI/EXE 설치 관리자 경로를 통해 제출하는 기존 Win32 앱들
Azure 아티팩트 서명(이전의 신뢰할 수 있는 서명) ~$9.99/월 조직: 미국, 캐나다, EU, 영국. 개인: 미국 및 캐나다만 해당 ⚠️ 평판은 시간이 지나면서 쌓이며, 초기 경고는 예상됩니다. ❌ 아니요 비 스토어 배포에 권장
OV 인증서 (DigiCert, Sectigo와 같은 CA에서) $150-300/년 전 세계 ️ Azure 아티팩트 서명과 동일 - 시간이 지남에 따라 평판 빌드 ❌ 아니요 Azure 아티팩트 서명을 사용할 수 없거나 기존 CA를 선호하는 개발자
EV 인증서 $400+/년 전 세계 ⚠️ 2024년 이후 OV와 동일 - 더 이상 즉시 바이패스하지 않음 ❌ 아니요 더 이상 SmartScreen 바이패스용으로 특별히 권장되지 않음
자체 서명된 인증서 무료 ❌ 공용 사용자에 대한 설치 차단 ❌ 아니요 개발/테스트 전용 또는 관리되는 인증서 신뢰가 있는 엔터프라이즈
서명 없음 무료 ❌ 강력한 SmartScreen 차단; 기업은 완전히 차단 가능 ❌ 아니요 공용 배포에는 권장되지 않음

Microsoft Store - MSIX 제출: 서명이 필요하지 않음

Microsoft Store 통해 MSIX 패키지 게시하는 것이 대부분의 Windows 앱에 권장되는 배포 경로입니다. Microsoft 패키지를 자동으로 다시 서명하므로 사용자에게 SmartScreen 경고가 표시되지 않으며 인증서를 구입하거나 갱신할 필요가 없습니다.

메모

Win32 MSI 또는 EXE 설치 관리자를 MSIX 패키지가 아닌 스토어에 제출하는 경우 Microsoft 설치 관리자에 다시 서명하지 않습니다. 설치 관리자와 해당 PE 파일은 Microsoft 신뢰할 수 있는 루트 프로그램 CA에 대한 인증서 체인으로 서명되어야 합니다. 자체 서명된 인증서는 허용되지 않습니다. MSI/EXE에 대한 앱 패키지 요구 사항을 참조하세요.

storedeveloper.microsoft.com 무료 개발자 계정을 만듭니다. 등록한 후 파트너 센터를 사용하여 앱을 제출하고 목록을 관리합니다.

앱을 Microsoft Store

Azure 아티팩트 서명(이전의 신뢰할 수 있는 서명) 스토어 외부에서 앱을 배포하는 개발자에게 Microsoft 권장 코드 서명 서비스입니다.

주요 세부 정보:

  • 비용: 월 약 $9.99 - 기존 OV 또는 EV 인증서보다 훨씬 적음
  • Identity validation: Microsoft 인증서를 발급하기 전에 조직 또는 개별 ID의 유효성을 검사합니다. 확인을 위해 몇 영업일 동안 계획합니다.
  • 하드웨어 토큰 불필요: 서명은 CI/CD 파이프라인(GitHub Actions, Azure DevOps 등)과 직접 통합됩니다. 물리적 USB 토큰이 필요하지 않습니다.
  • SmartScreen 동작: OV 인증서와 동일한 평판 구축 모델 - 새 파일은 충분한 다운로드 기록을 누적할 때까지 SmartScreen 경고를 표시합니다. Azure 아티팩트 서명은 SmartScreen의 즉각적인 신뢰를 제공하지 않습니다.

중요합니다

Geographic 제한: Azure 아티팩트 서명은 미국, 캐나다, 유럽 연합 및 영국의 조직에서 사용할 수 있습니다. 개별 개발자는 현재 미국과 캐나다로 제한됩니다. 해당 지역 외부의 개별 개발자인 경우 아래 의 OV 인증서를 참조하세요 .

Azure 아티팩트 서명 설명서
SignTool을 사용하여 MSIX 패키지 서명

OV 인증서 - 기존 CA 옵션

DigiCert, Sectigo 또는 GlobalSign과 같은 CA(인증 기관)의 OV(조직 유효성 검사) 인증서는 코드 서명에 대해 잘 설정된 옵션입니다. 다음과 같은 경우에 적합한 선택입니다.

  • 사용자는 미국, 캐나다, EU 또는 영국(조직) 외부에 있습니다. 또는 미국 또는 캐나다 외부(개별 개발자)이며 Azure 아티팩트 서명을 사용할 수 없습니다.
  • 조직에서 특정 CA와 이미 관계가 있습니다.
  • 엔터프라이즈 고객에게는 특정 CA의 인증서가 필요합니다.

주요 세부 정보:

  • 비용: 일반적으로 CA 및 인증서 계층에 따라 연간 $150~300
  • ID 유효성 검사: CA는 인증서를 발급하기 전에 조직의 법적 ID의 유효성을 검사합니다. 몇 영업일 허용
  • HSM 요구 사항: 2023년 6월부터 CA/브라우저 포럼에서는 OV 인증서에 대한 프라이빗 키를 HSM(하드웨어 보안 모듈) 또는 하드웨어 토큰에 저장해야 합니다. 대부분의 CA는 호환되는 USB 토큰 또는 클라우드 HSM 옵션을 제공합니다.
  • SmartScreen 동작: Azure 아티팩트 서명에 해당하며 시간이 지남에 따라 파일 해시당 평판이 누적됩니다. 새로운 파일에 대해 SmartScreen 경고가 나타날 수 있습니다.

OV 인증서는 검증된 옵션이며 SmartScreen용 Azure 아티팩트 서명과 기능적으로 동일합니다. 미국 또는 캐나다(또는 EU 또는 영국의 조직)에 있는 경우 Azure 아티팩트 서명은 일반적으로 비용 효율적이며 자동화된 빌드 파이프라인과 보다 원활하게 통합됩니다.

EV(확장 유효성 검사) 인증서는 이전에 처음 다운로드 시 SmartScreen 검사를 전혀 거치지 않았으며, 평판이 없는 새 앱의 기본 선택이었습니다. 이 동작은 2024년에 제거되었습니다. 이제 EV 서명된 파일은 OV 인증서와 동일한 평판 구축 프로세스를 거닐게 됩니다.

의미:

  • EV 인증서가 이미 있는 경우 여전히 유효하고 서명에 사용할 수 있습니다. 만료될 때까지 계속 사용합니다.
  • EV 인증서에는 엔터프라이즈 조달 또는 기타 신뢰 컨텍스트에 중요할 수 있는 보다 엄격한 ID 유효성 검사가 여전히 필요합니다.
  • SmartScreen 경고를 방지하기 위해서만 EV 프리미엄($400+/year)을 지불하는 것은 더 이상 정당화되지 않습니다 . OV 인증서와 동일한 경고가 계속 표시됩니다.

자세한 내용은 개발자를 위한 SmartScreen 평판에서 평판이 생성되는 방법과 사용자가 보는 내용을 참조하세요.

자체 서명된 인증서 - 개발 및 테스트 전용

자체 서명된 인증서는 기본적으로 Windows 신뢰할 수 없으며 인증서를 신뢰할 수 있는 루트로 수동으로 설치하지 않은 모든 사용자에 대해 강력한 SmartScreen 블록을 트리거합니다. 이렇게 하면 자체 서명된 인증서가 공용 배포에 적합하지 않습니다.

적절한 용도:

  • 로컬 개발 및 테스트 - 컴퓨터를 제어하고 인증서를 수동으로 설치할 수 있습니다.
  • 엔터프라이즈 내부 배포 - IT 부서에서 Intune 또는 그룹 정책을 통해 인증서를 신뢰할 수 있는 루트로 배포하여 관리되는 디바이스에서 앱을 자동으로 설치할 수 있습니다.

SignTool을 사용하여 MSIX 패키지 서명

오픈 소스: SignPath Foundation

프로젝트가 오픈 소스 경우 SignPath Foundation은 적격 오픈 소스 프로젝트에 대한 무료 코드 서명을 제공합니다. 이 프로그램은 관리되는 파이프라인을 통해 OV 수준 인증서 서명을 제공합니다. SignPath Foundation 웹 사이트에서 자격 요구 사항 및 애플리케이션 프로세스를 확인합니다.