Como criar.ficheiro pfx do certificado e chave privada?
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?
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
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.
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.
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.
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:
Existe uma suporte link com informações passo a passo sobre como instalar o certificado.
-
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.
O ficheiro importado pode ser enviado para servidor.
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/
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
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.htmExecute - o, Seleccione um ficheiro e obtenha o seu *.pfx!!
Eu criei .ficheiro pfx de .chave e ...ficheiros pem.
Assimopenssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx
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.
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.
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
- gerar a RSE usando o MMC. Siga estas instruções para tornar o certificado exportável.
- 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!
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.phpAbaixo estão os passos utilizados para o cenário solicitado.
- Seleccione o tipo actual = PEM
- alteração para = PFX
- envia o teu certificado
- carrega a tua chave privada
- Se tiver certificado de origem ou certificado intermédio, envie-os também
- defina uma senha à sua escolha, utilizado no IIS
Clica no reCaptcha para provar que não és um robot.- 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.