Como extrair as chaves de um PFX

Hoje subindo uma VPN na nuvem da Microsoft -> Azure -> Point-to-site, precisei exportar alguns cerificados e como estava utilizando o OpenVPN client, achei por bem já enviar o arquivo de configuração, ovpn, já com as informações de certificado, só que para isso alguns passos adicionais foram necessários….

Antes de começarmos, vale a pena alinharmos a definição de: O que é um arquivo PFX?

Tecnicamente o arquivo PFX é um container que armazena a chave privada e pública de um certificado SSL, empacotados juntos com uma CA assinando sua validade, e protegido através de uma senha.

Dado isto, o primeiro passo é exportar o arquivo pfx de onde você o gerou, como visto no link acima, e com a ajuda do OpenSSL, iremos fazer a extração….

Para instalar o OpenSSL, um quick review:

Install OpenSSL on Debian and Ubuntu systems

sudo apt install openssl

Install OpenSSL on RHEL, CentOS

sudo yum install openssl

Windows installer location

https://slproweb.com/products/Win32OpenSSL.html

Agora vamos realizar a extração, e para isso iremos utilizar os seguintes comandos abaixo extraindo a chave privada para o arquivo private.cer, a chave pública para o public.cer e a CA no arquivo CA.cer, a partir do arquivo noname.pfx, que é na prática nosso certificado gerado.

Extração da chave Privada

openssl pkcs12 -in noname.pfx -nocerts -nodes -out private.cer

Extração da chave pública

openssl pkcs12 -in noname.pfx -clcerts -nokeys -out public.cer

Extract the CA cert chain

openssl pkcs12 -in noname.pfx -cacerts -nokeys -chain -out ca.cer

That’s all folks!

乁(ツ)ㄏ

cya! 🎶🎶🎶

Última modificação: 24 May 2021