Converter certificado para .PEM
A API do Sicoob utiliza o certificado digital para autenticar as informações, porém o certificado digital utilizado pelo Sicoob é feito somente com a chave publica.
O certificado A1 utilizado para emissão de NF-es, contém tanto a chave publica como a chave privada, que em hipótese alguma deve ser compartilhada. Por isso que deve-se converter o certificado existente em um novo certificado em formato .PEM, o qual vai conter somente a chave publica.
Requisitos
- OpenSLL - Precisamos dele para rodar alguns comandos.
- GitBash - Terminal utilizado para escrever os comandos.
1 - Extração da chave publica do certificado A1
Caso o usuário tenha o certificado A1 na máquina:
- crie uma nova pasta e copie o certificado dentro.
- Abra o GitBash nesta pasta
- Rode o seguinte comando:
openssl pkcs12 -in 'caminhodocertificadoarquivo.pfx' -nokeys -out 'caminhodocertificadocertificatename.pem'
Lembre de alterar as seguintes informações:
caminhodocertificadoarquivo: Inclua o caminho completo com o nome e a extensão .pfx do certificado A1. Exemplo: 'C:\certificado\NomeDoCertificado.pfx'.
caminhodocertificadocertificatename: Inclua o caminho completo com o nome e a extensão .pem de onde será salvo o novo certificado. Exemplo: 'C:\certificado\NomeDoNovoCertificado.pem'
2 - Verifique se a chave pública foi vinculada corretamente
Antes de enviar o novo certificado .pem na API do Sicoob, abra o certificado em um editor de texto de sua preferência.
O conteúdo do certificado deve ser apenas assim:
-----BEGIN CERTIFICATE-----MIIHPjCCBSagAwIBAgIIaEshCShhC1wwDQYJKoZIhv...-----END CERTIFICATE-----
Com um conteúdo iniciado com "BEGIN CERTIFICATE" e finalizado com "END CERTIFICATE".
Caso o conteúdo contenha as tags "BEGIN RSA PRIVATE KEY" e " END RSA PRIVATE KEY", quer dizer que a chave privada do certificado foi compartilhada junto no .pem. Nesse caso o certificado NÃO deve ser vinculado. Sendo necessário realizar o procedimento novamente.
Referências
https://developers.sicoob.com.br/#!/documentacao?section=seguranca&item=certificado-digital