Partilhar via


Opções de assinatura de código para programadores de aplicações Windows

Se publicar a sua aplicação como um pacote MSIX através do Microsoft Store, a assinatura de código é gratuita e gerida automaticamente por si — Microsoft reassina o pacote após a certificação e não precisa de comprar ou gerir um certificado. Se publicar como instalador MSI/EXE através da Loja, é responsável por assinar o seu instalador com o Authenticode antes de o submeter. Tudo o resto neste artigo aplica-se a aplicações distribuídas fora do Microsoft Store.

Comparação em resumo

Option Custo Availability Comportamento do SmartScreen Elegível para loja Melhor para
Microsoft Store (MSIX) — A loja re-assina o seu pacote Gratuito Mundial ✅ Sem avisos ✅ Sim Recomendado para a maioria das aplicações novas
Microsoft Store (instalador MSI/EXE) — o publicador deve assinar É necessário o encadeamento de certificados para o Trusted Root Program da CA (varia consoante a autoridade de certificação) Mundial ✅ Não há avisos de SmartScreen durante a instalação da Store (o UAC pode ainda aparecer) ✅ Sim Aplicações Win32 existentes submetidas através do instalador MSI/EXE
Azure Assinatura de Artefatos (anteriormente Assinatura Confiada) ~$9,99/mês Organizações: EUA, Canadá, UE, Reino Unido. Indivíduos: apenas EUA e Canadá ⚠️ A reputação constrói-se ao longo do tempo; avisos iniciais esperados ❌ Não Recomendado para distribuição fora da loja
Certificado OV (de uma CA como DigiCert, Sectigo) $150–300/ano Mundial ⚠️ Igual a Assinatura de Artefatos do Azure, a reputação constrói-se ao longo do tempo ❌ Não Desenvolvedores que não conseguem usar o Azure Artifact Signing, ou que preferem as CAs tradicionais
Certificado de veículos elétricos $400+/ano Mundial ⚠️ Igual ao OV desde 2024 — não é mais um desvio instantâneo ❌ Não Deixou de ser recomendado especificamente para contornar o SmartScreen
Certificado auto-assinado Gratuito ❌ Bloqueia a instalação para utilizadores públicos ❌ Não Apenas desenvolvimento/testes, ou empresas com confiança de certificados gerida
Sem assinatura Gratuito ❌ Bloqueio forte do SmartScreen; As empresas podem bloquear completamente ❌ Não Não recomendado para distribuição pública

Microsoft Store — Submissões MSIX: não é necessária assinatura

Publicar um pacote MSIX através do Microsoft Store é o caminho de distribuição recomendado para a maioria das aplicações Windows. A Microsoft reassina automaticamente o seu pacote, o que significa que os utilizadores nunca veem um aviso de SmartScreen e nunca precisa de comprar ou renovar um certificado.

Observação

Se estiver a submeter um instalador Win32 MSI ou EXE para a Loja (em vez de um pacote MSIX), Microsoft não reassina o seu instalador. O instalador e os seus ficheiros PE devem ser assinados com um certificado que encadeia uma CA no Microsoft Trusted Root Program — certificados auto-assinados não são aceites. Consulte os requisitos da aplicação para o pacote MSI/EXE.

Crie uma conta de programador gratuita no storedeveloper.microsoft.com. Depois de se registar, utilize o Centro de Parceiros para submeter a sua aplicação e gerir a sua listagem.

Publique a sua aplicação no Microsoft Store

Azure Artifact Signing (anteriormente Trusted Signing) é o serviço de assinatura de código recomendado pela Microsoft para programadores que distribuem aplicações fora da Loja.

Detalhes principais:

  • Custo: Aproximadamente $9,99/mês — significativamente menos do que um certificado OV ou EV tradicional
  • Validação de identidade: Microsoft valida a sua organização ou identidade individual antes de emitir certificados; planeie alguns dias úteis para verificação
  • Não é necessário token de hardware: A assinatura integra-se diretamente com pipelines CI/CD (GitHub Actions, Azure DevOps e outros) — não precisa de um token USB físico
  • Comportamento do SmartScreen: O mesmo modelo de construção de reputação dos certificados OV — novos ficheiros mostram um aviso SmartScreen até acumularem histórico de downloads suficiente. Azure Assinatura de Artefatos não proporciona confiança instantânea no SmartScreen.

Importante

Limitação geográfica: A assinatura de artefactos do Azure está disponível para organizações nos EUA, Canadá, União Europeia e Reino Unido. Atualmente, os desenvolvedores individuais estão limitados aos EUA e Canadá. Se for um programador individual fora dessas regiões, consulte os certificados OV abaixo.

Documentação de assinatura de artefactos Azure
Assinar um pacote MSIX usando o SignTool

Certificados OV — opção tradicional de CA

Certificados Validados por Organização (OV) de uma Autoridade Certificadora (CA) como DigiCert, Sectigo ou GlobalSign são uma opção bem estabelecida para assinatura de código. São a escolha certa quando:

  • Está localizado fora dos EUA, Canadá, UE ou Reino Unido (organizações); ou fora dos EUA ou Canadá (programadores individuais) e não podem usar a assinatura de artefactos do Azure
  • A sua organização já tem uma relação com uma CA específica
  • Os seus clientes empresariais exigem um certificado de uma CA específica

Detalhes principais:

  • Custo: Normalmente, entre 150 e 300 dólares por ano, dependendo da CA e do nível do certificado
  • Validação de identidade: A CA valida a identidade legal da sua organização antes de emitir o certificado; Permitir vários dias úteis
  • Requisito HSM: Em junho de 2023, o CA/Browser Forum exige que chaves privadas para certificados OV sejam armazenadas num módulo de segurança de hardware (HSM) ou token de hardware. A maioria das CAs fornece uma opção compatível de token USB ou HSM na cloud.
  • Comportamento do SmartScreen: Equivalente à assinatura de artefatos Azure — a reputação acumula-se por hash de ficheiro ao longo do tempo. Espere avisos SmartScreen para novos ficheiros.

Os certificados OV são uma opção comprovada e funcionalmente equivalentes à assinatura de artefactos do Azure para efeitos de SmartScreen. Se estiveres nos EUA ou Canadá (ou numa organização na UE ou Reino Unido), o Azure Artifact Signing é normalmente mais económico e integra-se de forma mais fluida com pipelines de compilação automatizados.

Os certificados de Validação Estendida (EV) anteriormente contornavam completamente o SmartScreen no primeiro download, tornando-os a escolha preferida para novos aplicativos sem histórico de reputação. Esse comportamento foi removido em 2024. Os ficheiros assinados por EV passam agora pelo mesmo processo de construção de reputação que os certificados OV.

O que isto significa:

  • Se já tem um certificado de veículo elétrico, ele continua válido e funcional para assinar — continue a usá-lo até expirar
  • Os certificados EV ainda exigem uma validação de identidade mais rigorosa, o que pode ser relevante para aquisições empresariais ou outros contextos de confiança
  • Pagar o prémio do EV ($400+/ano) apenas para evitar avisos do SmartScreen deixou de ser justificável, pois continuará a ver os mesmos avisos que com um certificado digital OV.

Reputação SmartScreen para programadores com detalhes completos sobre como a reputação se constrói e o que os utilizadores veem

Certificados auto-assinados — apenas para desenvolvimento e testes

Um certificado auto-assinado não é confiado pelo Windows por padrão e irá ativar um bloqueio forte do SmartScreen para qualquer utilizador que não tenha instalado manualmente o certificado como autoridade raiz de confiança. Isto torna os certificados auto-assinados inadequados para distribuição pública.

Usos apropriados:

  • Desenvolvimento local e testes — controla a máquina e pode instalar o certificado manualmente
  • Distribuição interna empresarial — o seu departamento de TI pode implementar o certificado como uma raiz de confiança via Intune ou Group Policy, permitindo que dispositivos geridos instalem a aplicação silenciosamente

Assinar um pacote MSIX usando o SignTool

Código aberto: Fundação SignPath

Se o seu projeto for open source, a SignPath Foundation oferece assinatura de código gratuita para projetos open-source qualificados. O programa fornece assinatura de certificados no nível OV através de um pipeline gerido. Consulte o site da Fundação SignPath para os requisitos de elegibilidade e o processo de candidatura.