Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Gerenciar o certificado que o Visual Studio usa para assinar seu aplicativo

Applies to Windows only

O Visual Studio assina seu aplicativo quando você cria o pacote de aplicativos. Você pode gerenciar o certificado que o Visual Studio usa para assinar seu aplicativo das maneiras descritas a seguir.

Observação Observação

Se um erro semelhante a “O certificado especificado é inválido porque ele expirou ou tem outro problema” aparecer durante o processo de assinatura, use o Designer de Manifesto para criar um certificado de teste que substitua o antigo.

Por padrão, todos os pacotes de aplicativos que o Visual Studio gera são assinados com um certificado de teste. Quando você cria um pacote, o Visual Studio gera uma pasta que inclui o próprio pacote assinado. O arquivo de certificado (.cer) incluído nessa pasta contém a chave pública usada para assinar o pacote.

BR230260.collapse_all(pt-br,VS.120).gifAlterações que o Visual Studio faz no arquivo do projeto quando você gera um certificado de teste

O processo de criação de certificado também adiciona uma propriedade ao arquivo de projeto:


<PackageCertificateKeyFile>
   RisingStar_TemporaryKey.pfx
</PackageCertificateKeyFile>

O valor de PackageCertificateKeyFile é o caminho relativo ou o caminho completo do certificado de origem.

BR230260.collapse_all(pt-br,VS.120).gifValores de propriedades e extensões no certificado de teste

No certificado de teste que o Visual Studio gera, o campo Subject é definido como o atributo Publisher do elemento Identity do arquivo de manifesto de origem (.appxmanifest).

  • Se você criar um pacote local, o valor padrão do atributo Publisher será seu nome de usuário.

  • Se você criar um pacote ou associar seu aplicativo a ele, o atributo Publisher será definido como a Publisher ID, que é obtida da conta do desenvolvedor quando você faz login durante a criação do pacote.

O valor da extensão Restrições Básicas é definida como Subject Type=End Entity.

Observação Observação

A extensão basic constraints identifica se o proprietário do certificado é uma autoridade de certificado (CA). Essa extensão também define o tamanho máximo dos caminhos de certificação que incluem esse certificado. A propriedade Restrições Básicas especifica se a chave pública certificada pode verificar assinaturas de certificados.

O valor da extensão Uso Avançado de Chave (EKU) é definido como Assinatura de Código.

O Visual Studio cria automaticamente um certificado quando um projeto é criado, mas você também pode criar seu próprio certificado ou usar um certificado anterior para assinar um pacote.

Para criar ou usar um certificado alternativo

  1. No Gerenciador de Soluções, abra o menu de atalho do arquivo .appxmanifest, escolha Abrir com e escolha App Manifest Designer.

  2. No App Manifest Designer, escolha a guia Empacotamento e escolha o botão Escolher certificado.

  3. Na caixa de diálogo Escolher certificado, expanda a lista Configurar certificado e então escolha uma das seguintes opções:

    Escolher do repositório de certificados

    Escolha um dos certificados Personal do repositório de certificados no sistema operacional.

    Escolher de um arquivo

    Escolha um arquivo de certificado do sistema de arquivos.

    Criar o certificado de teste

    Crie um certificado com um Publisher ID de sua escolha. Você também pode criar uma senha.

Seja qual for a opção escolhida, um arquivo de certificado é adicionado ao projeto e as propriedades PackageCertificateThumbprint e PackageCertificateKeyFile do projeto são atualizadas adequadamente.

O certificado padrão que o Visual Studio gera expira um ano após a data de sua criação. Antes que o certificado expire, você deve usar o App Manifest Designer para renovar o certificado ou, como descrito no procedimento anterior, fornecer um certificado diferente e válido.

Para renovar o certificado

  1. No Gerenciador de Soluções, abra o menu de atalho do arquivo .appxmanifest, escolha Abrir com e escolha App Manifest Designer.

  2. No App Manifest Designer, escolha a guia Empacotamento e escolha o botão Escolher certificado.

  3. Na caixa de diálogo Escolher certificado, expanda a lista Configurar certificado e então escolha Criar certificado de teste.

  4. Na caixa de diálogo Criar certificado de teste, clique no botão OK.

    O Visual Studio renova o certificado com uma nova data de validade.

É possível excluir ou exportar um certificado que tenha expirado ou esteja comprometido, corrompido ou tenha sido substituído por outro certificado. Para obter informações sobre como excluir ou exportar um certificado, consulte Como usar o console de certificados.

Durante o empacotamento, o Visual Studio valida o certificado fazendo uma série de verificações de validação.

Em determinados cenários, talvez seja necessário um controle mais rígido de qual certificado será usado e, portanto, quais verificações de validação você quer que o Visual Studio faça no certificado. Você pode fazer isso definindo a propriedade EnableSigningChecks do MSBuild como False.

Se você definir a propriedade como False, o Visual Studio executará somente as seguintes validações:

  • Verifica se uma chave particular existe.

  • Verifica se o valor da propriedade Uso Avançado de Chave contém Assinatura de Código.

  • Verifica se o certificado é ativo, não expirou e não foi revogado.

Se você definir a propriedade como True (padrão), o Visual Studio executará as verificações adicionais a seguir.

  • Verifica a presença da extensão Restrições Básicas e seu valor, que deverá ser Subject Type=End Entity ou não especificado.

  • Verifica o valor da propriedade KeyUsage (KU), que deve ser Unset ou DigitalSignature.

Se qualquer arquivo em um pacote instalado for modificado, a verificação da assinatura poderá impedir que aplicativo seja executado. Para modificar um pacote, faça as alterações nos arquivos de origem originais e, em seguida, reimplante o pacote modificado.

Contribuições da comunidade

Mostrar:
© 2015 Microsoft