Quando integramos com APIs seguras, como as do Banco Santander, é comum que um certificado digital no formato .p12 seja fornecido para autenticação. No entanto, para utilizá-lo com ferramentas como cURL no PHP, é necessário convertê-lo para o formato .pem. Este artigo explica como realizar essa conversão e como configurá-lo no cURL.
Por que converter .p12 para .pem?
O formato .p12
(PKCS#12) contém tanto o certificado público quanto a chave privada, mas o cURL no PHP trabalha melhor com arquivos separados no formato .pem
. A conversão permite extrair:
- O certificado público.
- A chave privada.
Como converter o .p12 para .pem?
Use o OpenSSL (usei um servidor Linux) para realizar a conversão. Os comandos abaixo geram dois arquivos: um para o certificado público e outro para a chave privada.
1. Exportar o certificado público:
openssl pkcs12 -in certificado.p12 -clcerts -nokeys -out certificado.pem
2. Exportar a chave privada:
openssl pkcs12 -in certificado.p12 -nocerts -nodes | openssl rsa -out chave_privada.pem
Proteja seus arquivos
Os arquivos .pem
contêm informações sensíveis, especialmente a chave privada. Certifique-se de:
- Definir permissões restritas (ex.:
chmod 600
). - Armazená-los fora do diretório acessível pelo servidor web.
Outras observações
Utilizei para o Banco Santander, mas o procedimento para conversão de qualquer certificado.
Tentei no Windows, e por algum motivo não obtive o mesmo resultado, pode ser ate a versao do OpenSSL, então, subi para um servidor Linux e executei a conversão por la.
Agora você está pronto para integrar sua aplicação com as APIs do Banco Santander de maneira segura e eficiente.
Gerado com a ajuda do ChatGPT, incorporando instruções e ajustes específicos para facilitar a compreensão.