Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
MakeCert.exe está obsoleto. Para obter orientações atuais sobre como criar um certificado, consulte Criar um certificado para assinatura de pacote.
Saiba como usar MakeCert.exe e Pvk2Pfx.exe para criar um certificado de assinatura de código de teste, para que você possa assinar seus pacotes de aplicativos do Windows.
Você deve assinar digitalmente seus aplicativos do Windows empacotados antes de implantá-los. Se você não usa o Microsoft Visual Studio 2012 para criar e assinar seus pacotes de aplicativo, precisará criar e gerenciar seus próprios certificados de assinatura de código. Você pode criar certificados usando MakeCert.exe e Pvk2Pfx.exe do Kit de Driver do Windows (WDK). Em seguida, você pode usar os certificados para assinar os pacotes do aplicativo, para que eles possam ser implantados localmente para teste.
O que precisa de saber
Tecnologias
- Introdução à assinatura de código
- Pacotes de aplicativos e implantação
- Ferramentas para assinar drivers
Pré-requisitos
- MakeCert.exe e Pvk2Pfx.exe ferramentas do WDK
Instruções
Etapa 1: Determinar o nome do publicador do pacote
Para tornar o certificado de assinatura que crias utilizável com o pacote da aplicação que pretendes assinar, o nome do sujeito do certificado de assinatura deve coincidir com o atributo Publisher do elemento Identity no AppxManifest.xml dessa aplicação. Por exemplo, suponha que o AppxManifest.xml contém:
<Identity Name="Contoso.AssetTracker"
Version="1.0.0.0"
Publisher="CN=Contoso Software, O=Contoso Corporation, C=US"/>
Para o parâmetro publisherName que você especifica com o utilitário MakeCert na próxima etapa, use "CN=Contoso Software, O=Contoso Corporation, C=US".
Observação
Essa cadeia de caracteres de parâmetro é especificada entre aspas e é sensível a maiúsculas e minúsculas e espaços em branco.
A cadeia de caracteres do atributo do Publisher definida para o elemento Identity no AppxManifest.xml deve ser idêntica à cadeia de caracteres que você especifica com o parâmetro MakeCert /n para o nome do sujeito do certificado. Copie e cole a cadeia de caracteres sempre que possível.
Etapa 2: Criar uma chave privada usando o MakeCert.exe
Use o utilitário MakeCert para criar um certificado de teste autoassinado e uma chave privada:
MakeCert /n publisherName /r /h 0 /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" /e <expirationDate> /sv MyKey.pvk MyKey.cer
Este comando solicita que você forneça uma senha para o arquivo .pvk. Recomendamos que escolha um de palavra-passe forte e mantenha a sua chave privada num local seguro.
Recomendamos que você use os parâmetros sugeridos no exemplo anterior pelos seguintes motivos:
-
/r
-
Cria um certificado raiz autoassinado. Isso simplifica o gerenciamento do seu certificado de teste.
-
/h 0
-
Marca a restrição básica para o certificado como uma entidade final. Isso impede que o certificado seja usado como uma autoridade de certificação (CA) que pode emitir outros certificados.
-
/eku
-
Define os valores de Uso Avançado de Chave (EKU) para o certificado.
Observação
Não coloque um espaço entre os dois valores delimitados por vírgula.
- 1.3.6.1.5.5.7.3.3 indica que o certificado é válido para assinatura de código. Sempre especifique esse valor para limitar o uso pretendido para o certificado.
- 1.3.6.1.4.1.311.10.3.13 indica que o certificado respeita a assinatura vitalícia. Normalmente, se uma assinatura tiver carimbo de data/hora, desde que o certificado fosse válido no momento em que foi carimbado, a assinatura permanecerá válida mesmo que o certificado expire. Este EKU obriga a assinatura a expirar, independentemente de estar datada.
-
/e
-
Define a data de expiração do certificado. Forneça um valor para o parâmetro expirationDate no formato mm/dd/aaaa. Recomendamos que escolha uma data de validade tão longa quanto necessária para os seus fins de teste, normalmente inferior a um ano. Essa data de expiração em combinação com o EKU de assinatura vitalícia pode ajudar a limitar a janela na qual o certificado pode ser comprometido e usado indevidamente.
Para obter mais informações sobre outras opções, consulte MakeCert.
Etapa 3: Criar um arquivo de troca de informações pessoais (.pfx) usando o Pvk2Pfx.exe
Use o utilitárioPvk2Pfx para converter os arquivos .pvk e .cer criados Make Cert em um arquivo .pfx que você pode usar com SignTool para assinar um pacote de aplicativo:
Pvk2Pfx /pvk MyKey.pvk /pi pvkPassword /spc MyKey.cer /pfx MyKey.pfx [/po pfxPassword]
Os arquivos MyKey.pvk e MyKey.cer são os mesmos arquivos que MakeCert.exe foram criados na etapa anterior. Usando o parâmetro opcional /po, você pode especificar uma senha diferente para o .pfx resultante; caso contrário, o .pfx tem a mesma senha que MyKey.pvk.
Para obter mais informações sobre outras opções, consulte Pvk2Pfx.
Comentários
Depois de criar o arquivo .pfx, você pode usar o arquivo com SignTool para assinar um pacote de aplicativo. Para obter mais informações, consulte Como assinar um pacote de aplicativo usando o SignTool. Mas o certificado ainda não é considerado confiável para o computador local para a implantação de pacotes de aplicativos até que você o instale no armazenamento de certificados confiáveis do computador local. Você pode usar o Certutil.exe, que vem com o Windows.
Para instalar certificados com WindowsCertutil.exe
Execute Cmd.exe como administrador.
Execute este comando:
Certutil -addStore TrustedPeople MyKey.cer
Recomendamos que você remova os certificados se eles não estiverem mais em uso. No mesmo prompt de comando do administrador, execute este comando:
Certutil -delStore TrustedPeople certID
O certID é o número de série do certificado. Execute este comando para determinar o número de série do certificado:
Certutil -store TrustedPeople
Considerações de segurança
Ao adicionar um certificado aos armazenamentos de certificados da máquina local , afeta a confiança nos certificados de todos os utilizadores do computador. Recomendamos que você instale todos os certificados de assinatura de código desejados para testar pacotes de aplicativos no repositório de certificados de Pessoas Confiáveis. Remova prontamente esses certificados quando não forem mais necessários, para evitar que sejam usados para comprometer a confiança do sistema.
Tópicos relacionados
-
Amostras
-
Conceitos