Compartilhar via


ClickOnce e Authenticode

Authenticode é uma tecnologia Microsoft que usa o padrão da indústria criptografia 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 estabelecida e confiável. Assinatura ClickOnce implantações com um certificado digital é uma etapa opcional para verificar 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 aplicativos deClickOnce , 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 será funciona. 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 o Makecert. exe, que está incluído com o Windows Software Development Kit (SDK).

Como usar autoridades de certificação ajuda os usuários

Um certificado gerado usando o utilitário Makecert. exe é geralmente chamado de um self-cert ou teste cert. Esse tipo de certificado funciona da mesma forma que um arquivo. snk funciona na.NET Framework. Ele consiste exclusivamente em um par de chaves criptográficas pública/privada e não contém nenhuma informação verificável sobre o Editor. Você pode usar certificados self para implantar aplicativos deClickOnce com confiança alta em uma intranet. No entanto, quando esses aplicativos são executados em um computador cliente, ClickOnce irá identificá-los como sendo proveniente de um editor desconhecido. Por padrão, ClickOnce aplicativos assinados com certificados self e implantado pela Internet não poderão utilizar 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 a identidade observando-se com a autoridade de certificação que assinou. Se a CA não é a autoridade raiz, Authenticode será também "cadeia" Voltar para a autoridade raiz para verificar se está autorizada a autoridade de certificação 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 certificados self, consulte O Makecert. exe (ferramenta de criação de certificado).

Carimbos 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 reassinar aplicativos com novos certificados, ClickOnce suporta timestamp. Quando um aplicativo é assinado com um carimbo de hora, seu certificado continuará ser aceito mesmo após a expiração, fornecido que o carimbo de hora é válido. Isso permite que aplicativos deClickOnce com certificados expirados, mas os carimbos de hora válidos, para baixar e executar. Também permite que os aplicativos instalados com certificados expirados continuar a fazer o download e instalar atualizações.

Para incluir um carimbo de hora em um servidor de aplicativo, 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.

Atualizando 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.

O armazenamento 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. exe irá 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 que você utilize certificados armazenados em qualquer forma.

Consulte também

Referência

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

Conceitos

ClickOnce Segurança e implantação

Protegendo aplicativos de ClickOnce

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