Como criar.ficheiro pfx do certificado e chave privada?

Preciso .ficheiro pfx para instalar https no sítio web do IIS.

Tenho dois ficheiros separados: certificado (.cer ou pem) e chave privada (.crt) mas o IIS só aceita .ficheiros pfx.

instalei obviamente o certificado e está disponível no Gestor de certificados (mmc), mas quando selecciono o Assistente de exportação de certificados não consigo seleccionar o formato PFX (está acinzentado)

Existem algumas ferramentas para fazer isso ou C# Exemplos de fazer isso programaticamente?

Author: jww, 2011-06-10

14 answers

Terá de utilizar o openssl.

openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt

O ficheiro da chave é apenas um ficheiro de texto com a sua chave privada nele.

Se tiver uma AC de raiz e certs intermédios, inclua - os também usando vários -in params

openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt -in intermediate.crt -in rootca.crt

Pode instalar o openssl a partir daqui: openssl

 373
Author: jdehlin, 2018-05-30 08:40:13

O utilitário de linha de comandos Microsoft Pvk2Pfx parece ter a funcionalidade de que necessita:

Pvk2Pfx (Pvk2Pfx.exe) é uma ferramenta de linha de comando copia a chave pública e a informação de chave privada contida em .spc,.cer, and .pvk files to a Personal Information Exchange (.ficheiro pfx).
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672 (V = vs. 85).aspx

Nota: Se você precisar/quiser / preferir uma solução C#, então você pode querer considerar usar o http://www.bouncycastle.org / api.

 34
Author: Seymour, 2014-10-29 16:09:14
Se está à procura de uma GUI do Windows, veja o DigiCert. Acabei de usar isto e foi bastante simples.

Na página SSL, importei primeiro o certificado. Então uma vez que eu selecionei o certificado eu era capaz de exportar como um PFX, tanto com e sem um keyfile.

Https://www.digicert.com/util

 25
Author: joelnet, 2014-08-14 23:11:08

Não precisa de openssl ou makecert nem nada disso. Você também não precisa da chave pessoal dada a você pelo seu CA. Quase posso garantir que o problema é que você espera ser capaz de usar a chave e arquivos cer fornecidos pelo seu CA, mas eles não são baseados em "a maneira IIS". Estou tão cansado de ver informações más e difíceis aqui que decidi blogar o assunto e a solução. Quando você perceber o que está acontecendo e ver como é fácil, você vai querer me abraçar:)

Certs 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 IIS "Server Certificates" UI para "gerar pedido de Certificado" (os detalhes deste pedido estão fora do âmbito deste artigo, mas esses detalhes são críticos). Isto vai dar-te uma RSE preparada para o IIS. Depois, dá essa RSE ao teu CA e pede um certificado. Depois pegas no ficheiro CER / CRT que te dão e voltas para o IIS., "Pedido de certificado completo" no mesmo lugar que você gerou o pedido. Pode pedir um .O CER e tu podem ter um .CRT. São a mesma coisa. Basta alterar a extensão ou usar o . extensão drop-down para seleccionar a sua .CRT. Agora forneça um nome Amigável apropriado (*. yourdomain.com, yourdomain.com, foo.yourdomain.com, etc.. ISTO É IMPORTANTE! Isto deve corresponder ao que você configurou a RSE para e o que o seu CA lhe forneceu. Se você pediu um wildcard, seu CA deve ter aprovado e gerou um wildcard e você deve usar o mesmo. Se a sua RSE foi gerada para foo.yourdomain.com, você deve fornecer o mesmo nesta etapa.

 20
Author: rainabba, 2016-12-05 14:14:14
Tenho uma ligação com a tua exigência.combinar ficheiros CRT e KEY num PFX com OpenSSL

Extractos da relação acima referida:

Primeiro precisamos de extrair o certificado da AC raiz do existente .ficheiro crt, porque precisamos disto mais tarde. Então abre a porta .crt e clique na página do caminho de Certificação.

Carregue no certificado mais alto (neste caso VeriSign) e carregue na área de acerto Certificado. Seleccione a página de detalhes e carregue em Copiar para o ficheiro ...

Seleccionar Base-64 codificado X. 509 (.Cer) certificate Save it as rootca.RCE ou algo parecido. Coloque - o na mesma pasta que os outros arquivos.

Renomeia-o de rootca.cer para rootca.crt agora devemos ter 3 arquivos em nossa pasta a partir da qual podemos criar um arquivo PFX. Aqui é onde precisamos do OpenSSL. Podemos fazer o download e instalá-lo no Windows , ou simplesmente abrir um terminal no OSX.

Editar:

  1. Existe uma suporte link com informações passo a passo sobre como instalar o certificado.

  2. Depois de instalar com sucesso, exportar o certificado, escolher o formato .pfx, incluir a chave privada.

    Nota importante: : para exportar o certificado .formato pfx você precisa seguir os passos na mesma máquina a partir da qual você solicitou o certificado.

  3. O ficheiro importado pode ser enviado para servidor.

 6
Author: sudhAnsu63, 2017-05-23 11:54:57

Tem de usar a ferramenta makecert.

Abra uma linha de comandos como administrador e escreva o seguinte:

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"

Where <CertifcateName> = The name of your cert to create.

Depois poderá abrir o snap-in do Gestor de certificados para a consola de gestão, escrevendo certmgr.msc no menu Iniciar, clique em personal > certificates > e o seu cert deverá estar disponível.

Aqui está um artigo.

Https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/

 6
Author: BentOnCoding, 2015-09-22 16:13:24

Https://msdn.microsoft.com/en-us/library/ff699202.aspx

((As citações relevantes do artigo são abaixo)

A seguir, tens de criar o .arquivo pfx que você vai usar para assinar seus desdobramentos. Abra uma janela de pedido de comandos e escreva o seguinte comando:
PVK2PFX –pvk yourprivatekeyfile.pvk –spc yourcertfile.cer –pfx yourpfxfile.pfx –po yourpfxpassword

Em que:

  • pvk-o seu ficheiro privado.pvk é o ficheiro de chave privada que criou no Passo 4.
  • RCM-o seu ficheiro de Registo.cer é o ficheiro de certificado que você criado no Passo 4.
  • pfx-o teu ficheiro PFX.pfx é o nome do .ficheiro pfx que será criado.
  • po-yourpfxpassword é a senha que você quer atribuir para o .ficheiro pfx. Ser-lhe-á pedida esta senha quando adicionar a .pfx file para um projeto em Visual Studio pela primeira vez.

(opcionalmente (e não para o OP, mas para futuros leitores), você pode criar o .cer e ...ficheiro pvk do zero) (faria isto antes do acima). Notar os mm / dd / AAAA são substituições para as datas de início e de fim. ver artigo msdn para documentação completa.

makecert -sv yourprivatekeyfile.pvk -n "CN=My Certificate Name" yourcertfile.cer -b mm/dd/yyyy -e mm/dd/yyyy -r
 5
Author: granadaCoder, 2018-07-28 04:56:42

Esta é de longe a maneira mais fácil de converter *.cer to *.ficheiros pfx:

Apenas Descarregue o conversor portátil de certificados do DigiCert: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm

Execute - o, Seleccione um ficheiro e obtenha o seu *.pfx!!

 4
Author: user1613797, 2015-03-09 13:21:22

Eu criei .ficheiro pfx de .chave e ...ficheiros pem.

Assim openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
 4
Author: Siim Nelis, 2017-01-08 10:55:49

Quando diz que o certificado está disponível em MMC, está disponível em "utilizador actual" ou "computador Local"? Descobri que só posso exportar a chave privada se estiver no computador Local.

Você pode adicionar a opção snap para os certificados ao MMC e escolher a conta para a qual deverá gerir os certificados. Escolha O Computador Local. Se o seu certificado não estiver lá, importá-lo Carregando com o botão direito na loja e escolhendo todas as tarefas > importar.

Agora navegue para o seu importado certificado sob a versão Informática Local do snap do certificado. Carregue com o botão direito no certificado e escolha todas as tarefas > exportar. A segunda página do Assistente de exportação deverá perguntar se deseja exportar a chave privada. seleccionar. A opção PFX será agora a única disponível (é riscada se você selecionar Não e a opção de exportar a chave privada não está disponível na conta de usuário atual).

Ser-lhe-á pedido para definir uma senha para o ficheiro PFX e, em seguida, para definir o nome do certificado.

 3
Author: Ryan Elkins, 2013-02-26 18:53:44
Estava a ter o mesmo problema. O meu problema era que o computador que gerou o pedido de certificado inicial tinha estoirado antes do processo de validação ssl prolongado ter sido concluído. Eu precisava gerar uma nova chave privada e, em seguida, importar o certificado atualizado do Fornecedor do certificado. Se a chave privada não existir no seu computador, então você não pode exportar o certificado como pfx. A opção está esgotada.
 1
Author: Bill Mahoney, 2016-06-28 15:55:40

Embora seja provavelmente mais fácil gerar uma nova RSE usando o IIS (como @rainabba disse), assumindo que você tem os certificados intermédios, existem alguns conversores online por aí - por exemplo: https://www.sslshopper.com/ssl-converter.html

Isto permitir-lhe-á criar um PFX a partir do seu certificado e chave privada sem ter de instalar outro programa.

 1
Author: William, 2016-12-13 18:01:50

Na maioria dos casos, se não for capaz de exportar o certificado como um PFX (incluindo a chave privada) é porque o MMC/IIS não consegue encontrar/não tem acesso à chave privada (usada para gerar a RSE). Estes são os passos que segui para corrigir este problema:

  • executar o MMC como administrador
  • Uma vez obtido o certificado da AC (crt + p7b), importá - los (Certificados pessoais e autoridade de Certificação intermédia)
  • importante: carregue com o botão direito no seu novo certificado (Personal\Certificates) todas as tarefas..Gerir a chave privada e atribuir permissões à sua conta ou a todos (arriscado!). Poderá voltar às Permissões anteriores quando tiver terminado.
  • agora, carregue com o botão direito no certificado e seleccione Todas as tarefas..Exportar, e você deve ser capaz de exportar o certificado, incluindo a chave privada como um arquivo PFX, e você pode carregá - lo para Azure!
Espero que isto ajude!
 0
Author: Jose Parra, 2016-03-06 22:21:03

Eu sei que alguns usuários já falaram sobre a instalação deste e daquele e adicionar programas de linhas de comando e download...

Pessoalmente, sou preguiçoso e acho todos estes métodos complicados e lentos, e não quero descarregar nada e encontrar as linhas de cmd correctas, se não for preciso.

A melhor maneira para mim no meu servidor de IIS pessoal é usar o RapidSSLOnline. Esta é uma ferramenta que está em um servidor que lhe permite fazer upload de seu certificado e chave privada e é capaz de gerar um pfx ficheiro para si que pode importar directamente para o IIS.

A ligação está aqui.: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php

Abaixo estão os passos utilizados para o cenário solicitado.

  1. Seleccione o tipo actual = PEM
  2. alteração para = PFX
  3. envia o teu certificado
  4. carrega a tua chave privada
  5. Se tiver certificado de origem ou certificado intermédio, envie-os também
  6. defina uma senha à sua escolha, utilizado no IIS
  7. Clica no reCaptcha para provar que não és um robot.
  8. Clique Em Converter

E é isso que você deve ter um PFX baixado e usar isso em seu processo de importação em IIS.

Espero que isto ajude outras pessoas de tecnologia preguiçosas.
 0
Author: TheNerdyNerd, 2017-05-11 08:28:39