Preciso do arquivo .pfx para instalar https no site no IIS.
Eu tenho dois arquivos separados: certificado (.cer ou pem) e chave privada (.crt), mas o IIS aceita apenas arquivos .pfx.
Obviamente, instalei o certificado e ele está disponível no gerenciador de certificados (mmc), mas quando seleciono o Assistente para Exportação de Certificados não consigo selecionar o formato PFX (está acinzentado)
Existem ferramentas para fazer isso ou exemplos em C # de fazer isso programaticamente?
Respostas:
Você precisará usar o openssl.
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt
O arquivo de chave é apenas um arquivo de texto com sua chave privada.
Se você possui uma autoridade de certificação raiz e certificados intermediários, inclua-os também usando vários
-in
parâmetrosopenssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
Você pode instalar o openssl a partir daqui: openssl
fonte
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt
-certfile intermediate.crt -certfile rootca.crt
antes de ser solicitado a proteger o.pfx
código com uma senha / senha. Acredito que isso seja possivelmente porque.key
não correspondeu aos-in
arquivos adicionais, resultando na mensagem de erro "Nenhum certificado corresponde à chave privada" que eu estava recebendo.O utilitário de linha de comando do Microsoft Pvk2Pfx parece ter a funcionalidade que você precisa:
Pvk2Pfx (Pvk2Pfx.exe) é uma ferramenta de linha de comando que copia informações de chave pública e chave privada contidas nos arquivos .spc, .cer e .pvk em um arquivo de troca de informações pessoais (.pfx).
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672(v=vs.85).aspx
Nota: se você precisar / desejar / preferir uma solução C #, considere usar o http://www.bouncycastle.org/ api.
fonte
Se você está procurando uma GUI do Windows, consulte o DigiCert. Eu apenas usei isso e foi bastante simples.
Na guia SSL, primeiro importei o certificado. Depois que selecionei o certificado, pude exportar como um PFX, com e sem um arquivo de chave.
https://www.digicert.com/util
fonte
DigiCertUtil.exe
executável. O mais fácil é copiá-lo para a pasta do certificado.Você NÃO precisa de openssl ou makecert ou nada disso. Você também não precisa da chave pessoal fornecida pela sua CA. Eu quase posso garantir que o problema é que você espera poder usar os arquivos de chave e cer fornecidos pela sua CA, mas eles não são baseados na "maneira do IIS". Estou tão cansado de ver informações ruins e difíceis por aqui que decidi publicar o assunto e a solução no blog. Quando você perceber o que está acontecendo e ver como é fácil, vai querer me abraçar :)
Certificados SSL para IIS com PFX de uma vez por todas - SSL e IIS explicados - http://rainabba.blogspot.com/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html
Use a interface do usuário "Certificados do servidor" do IIS para "Gerar solicitação de certificado" (os detalhes desta solicitação estão fora do escopo deste artigo, mas são críticos). Isso fornecerá um CSR preparado para o IIS. Você então entrega esse CSR à sua CA e solicita um certificado. Então você pega o arquivo CER / CRT que eles fornecem, volte para o IIS, "Solicitação de certificado completa" no mesmo local em que você gerou a solicitação. Pode solicitar um .CER e você pode ter um .CRT. Eles são a mesma coisa. Apenas mude a extensão ou use o .suspenso de extensão para selecionar seu arquivo .CRT. Agora forneça um "nome amigável" adequado (* .seudominio.com, seudominio.com, foo.seudominio.com, etc.). ISTO É IMPORTANTE! Isso DEVE coincidir com o que você configurou o CSR e com o que sua CA forneceu. Se você solicitou um curinga, sua CA deve ter aprovado e gerado um curinga e você deve usá-lo. Se o seu CSR foi gerado para foo.yourdomain.com, você DEVE fornecer o mesmo nesta etapa.
fonte
Criei o arquivo .pfx a partir dos arquivos .key e .pem.
Como isso
openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
fonte
-export
interruptor.https://msdn.microsoft.com/en-us/library/ff699202.aspx
((citações relevantes do artigo estão abaixo))
(Opcionalmente (e não para o OP, mas para futuros leitores), você pode criar o arquivo .cer e .pvk a partir do zero) (você faria isso ANTES do acima). Observe que mm / dd / aaaa são espaços reservados para datas de início e término. consulte o artigo msdn para obter a documentação completa.
fonte
Você precisa usar a ferramenta Makecert.
Abra um prompt de comando como administrador e digite o seguinte:
Onde
<CertifcateName>
= o nome do seu certificado a ser criado.Em seguida, você pode abrir o snap-in do Gerenciador de Certificados para o console de gerenciamento digitando certmgr.msc no menu Iniciar, clique em pessoal> certificados> e seu certificado estará disponível.
Aqui está um artigo.
https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/
fonte
Eu tenho um link com sua exigência. Combine arquivos CRT e KEY em um PFX com OpenSSL
Extratos do link acima:
EDITAR:
Há um link de suporte com informações passo a passo sobre como instalar o certificado.
Após a instalação bem-sucedida, exporte o certificado, escolha o
.pfx
formato, inclua chave privada.Nota importante :: Para exportar o certificado no formato .pfx, siga as etapas na mesma máquina na qual você solicitou o certificado .
O arquivo importado pode ser carregado no servidor.
fonte
openssl pkcs12 -inkey example.com.key -in example.com.crt -export -out example.com.pfx
Esta é DE longe a maneira mais fácil de converter arquivos * .cer para * .pfx:
Basta baixar o conversor de certificado portátil do DigiCert: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
Execute-o, selecione um arquivo e obtenha seu * .pfx !!
fonte
Quando você diz que o certificado está disponível no MMC, ele está disponível em "Usuário Atual" ou "Computador Local"? Descobri que só posso exportar a chave privada se estiver em Computador Local.
Você pode adicionar o snap-in de Certificados ao MMC e escolher para qual conta ele deve gerenciar certificados. Escolha Computador Local. Se o seu certificado não estiver lá, importe-o clicando com o botão direito do mouse na loja e escolhendo Todas as Tarefas> Importar.
Agora, navegue até o certificado importado na versão Computador local do snap-in do certificado. Clique com o botão direito do mouse no certificado e escolha Todas as tarefas> Exportar. A segunda página do assistente de exportação deve perguntar se você deseja exportar a chave privada. Selecione Sim. A opção PFX agora será a única disponível (fica acinzentada se você selecionar não e a opção de exportar a chave privada não estiver disponível na conta Usuário Atual).
Você será solicitado a definir uma senha para o arquivo PFX e, em seguida, definir o nome do certificado.
fonte
Eu estava tendo o mesmo problema. Meu problema foi que o computador que gerou a solicitação inicial de certificado falhou antes que o processo de validação de SSL estendido fosse concluído. Eu precisava gerar uma nova chave privada e importar o certificado atualizado do provedor de certificados. Se a chave privada não existir no seu computador, você não poderá exportar o certificado como pfx. Eles opção está acinzentada.
fonte
Embora seja provavelmente mais fácil gerar um novo CSR usando o IIS (como disse o @rainabba), supondo que você tenha os certificados intermediários, existem alguns conversores on-line por aí - por exemplo: https://www.sslshopper.com/ssl-converter. html
Isso permitirá que você crie um PFX a partir do seu certificado e chave privada sem precisar instalar outro programa.
fonte
Na maioria dos casos, se você não conseguir exportar o certificado como PFX (incluindo a chave privada), o MMC / IIS não poderá encontrar / não ter acesso à chave privada (usada para gerar o CSR). Estas são as etapas que segui para corrigir esse problema:
Espero que isto ajude!
fonte
Eu sei que alguns usuários falaram sobre instalar isso e aquilo e adicionar programas de linhas de comando e baixar ...
Pessoalmente, sou preguiçoso e acho todos esses métodos pesados e lentos, além de não querer baixar nada e encontrar as linhas cmd corretas, se não for necessário.
A melhor maneira para mim, no meu servidor IIS pessoal, é usar o RapidSSLOnline. Esta é uma ferramenta que está em um servidor, permite que você faça upload de seu certificado e chave privada e pode gerar um arquivo pfx para você, que você pode importar diretamente para o IIS.
O link está aqui: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php
Abaixo estão as etapas usadas para o cenário solicitado.
E é isso que você deve ter um PFX baixado e usá-lo em seu processo de importação no IIS.
Espero que isso ajude outras pessoas com a mesma mentalidade e preguiçosas da tecnologia.
fonte
Para arquivos cfx do SSLForFree, acho este https://decoder.link/converter mais fácil.
Simplesmente verifique se PEM -> PKCS # 12 está selecionado, faça o upload do certificado, ca_bundle e arquivos de chave e converta. Lembre-se da senha, faça o upload com a senha usada e adicione as ligações.
fonte