Compartilhar via


ClickOnce e Authenticode

Authenticode é uma tecnologia Microsoft que usa criptografia padrão da indústria para assinar o código do aplicativo com certificados digitais que verificam a autenticidade do Editor do aplicativo.Usando o Authenticode para implantação de aplicativo, ClickOnce reduz o risco de um cavalo de Tróia. Um cavalo de Tróia é um vírus ou outro programa prejudicial que um terceiro mal-intencionado enganosamente representam como um programa legítimo proveniente de uma fonte confiável estabelecida.Assinatura ClickOnce implantações com um certificado digital é uma etapa opcional para verificar que os assemblies e arquivos não são alterados.

As seções a seguir descrevem os diferentes tipos de certificados digitais usados no Authenticode, como os certificados são validados usando certificados de autoridades (CAs), a função de Datação em certificados e os métodos de armazenamento disponível para certificados.

O Authenticode e assinatura de código

A certificado digital é um arquivo que contém uma pública/particular chave criptográfica, juntamente com metadados que descrevem o fornecedor para quem o certificado foi emitido e a agência que emitiu o certificado.

Existem vários tipos de certificados do Authenticode.Cada um deles está configurado para diferentes tipos de assinatura.Para ClickOnce aplicativos, você deve ter um certificado Authenticode que é válido para a assinatura de código. Se você tentar assinar um ClickOnce aplicativo com outro tipo de certificado, como, por exemplo, um certificado digital de email, ele não funcionará.Para obter mais informações, consulte Introdução à assinatura de código.

Você pode obter um certificado de assinatura de três maneiras de código:

  • Adquira um de um fornecedor certificado.

  • Receba um a partir de um grupo em sua organização responsável pela criação de certificados digitais.

  • Gerar seu próprio certificado com Makecert, o que está incluído com o Windows Software Development Kit (SDK).

ms172240.collapse_all(pt-br,VS.110).gifComo usar autoridades de certificação ajuda os usuários

Um certificado gerado usando o utilitário Makecert normalmente é chamado de um self-cert ou um teste cert.Esse tipo de certificado funciona da mesma forma que um arquivo. snk funciona na.NET Framework.Ele é composto unicamente por um par de chaves criptográficas pública/particular e não contém nenhuma informação verificável sobre o Editor.Você pode usar certificados de self para implantar ClickOnce aplicativos com confiança alta em uma intranet. No entanto, quando esses aplicativos são executados em um computador cliente, ClickOnce identificá-los como sendo proveniente de um fornecedor desconhecido.Por padrão, ClickOnce aplicativos assinados com certificados de self e implantado pela Internet não poderão utilizar a implantação de aplicativos confiáveis.

Por outro lado, se você receber um certificado de uma autoridade de certificação, como, por exemplo, um fornecedor certificado ou um departamento em sua empresa, o certificado oferece mais segurança para seus usuários.Ele não só identifica o Editor do software assinado, mas ele verifica essa identidade observando-se com a autoridade de certificação que assinou.Se a autoridade de certificação não é a autoridade de raiz, Authenticode será também "cadeia" volta para a autoridade raiz para verificar se a autoridade de certificação é autorizada para emitir certificados.Para maior segurança, você deve usar um certificado emitido por uma autoridade de certificação sempre que possível.

Para obter mais informações sobre como gerar self-os certificados, consulte Makecert (ferramenta de criação de certificado).

ms172240.collapse_all(pt-br,VS.110).gifCarimbos de hora

Os certificados usados para assinar ClickOnce aplicativos expiram após um determinado período de tempo, normalmente doze meses.Para remover a necessidade de constantemente assinar novamente os aplicativos com novos certificados, ClickOnce suporta o carimbo de hora.Quando um aplicativo é assinado com um carimbo de hora, seu certificado continuará a ser aceito mesmo após a expiração, desde que o carimbo de hora é válido.Isso permite que ClickOnce aplicativos com certificados expirados, mas os carimbos de hora válidos, para baixar e executar. Ele também permite que aplicativos instalados com certificados expirados, continue a baixar e instalar atualizações.

Para incluir um carimbo de hora em um servidor de aplicativos, um servidor de carimbo de hora deve estar disponível.Para obter informações sobre como selecionar um servidor de carimbo de hora, consulte Como: assinar manifestos de aplicativo e implantação.

ms172240.collapse_all(pt-br,VS.110).gifAtualizando os certificados expirados

Em versões anteriores do.NET Framework, atualizando um aplicativo cujo certificado ter expirado pode causar esse aplicativo pare de funcionar.Para resolver esse problema, use um dos seguintes métodos:

  • Atualização do.NET Framework versão 2.0 SP1 ou posterior no Windows XP, ou versão 3.5 ou posterior no Windows Vista.

  • Desinstale o aplicativo e reinstalar uma nova versão com um certificado válido.

  • Crie um assembly de linha de comando que atualiza o certificado.Informações passo a passo sobre esse processo podem ser encontradas em 925521 de artigo de suporte do Microsoft.

ms172240.collapse_all(pt-br,VS.110).gifArmazenamento de certificados

  • Você pode armazenar certificados como um arquivo. pfx no seu sistema de arquivos, ou você pode armazená-los dentro de um recipiente de chave.Um usuário em um domínio do Windows pode ter um número de recipientes de chave.Por padrão, o Makecert armazenará certificados no recipiente de chave particular, a menos que você especifique que ela deve salvá-lo em um. pfx em vez disso.Mage e MageUI.exe, o Windows SDK ferramentas para criação de ClickOnce implantações, permitem usar certificados armazenados em qualquer forma.

Consulte também

Referência

Mage (geração de manifesto e ferramenta de edição)

Conceitos

Implantação e segurança de ClickOnce

Proteção de aplicativos de ClickOnce

Visão geral sobre implantação de aplicativos confiáveis