No Ubuntu, não consigo converter o certificado usando o openssl com êxito.
vagrant@dev:/vagrant/keys$ openssl pkcs7 -print_certs -in a.p7b -out a.cer
unable to load PKCS7 object <blah blah>:PEM
routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: PKCS7
Você já viu esse erro antes?
file a.p7b
você tem?Respostas:
Tente o seguinte:
Se não funcionar, é trazido para uma máquina Windows e exportado, siga este guia.
fonte
-print_certs
em seu comando. Ela afeta o formato de saída: com ele, você obtém um formato PEM (começando com ----- BEGIN CERTIFICATE -----), e sem ele, você obtém um formato PKCS # 7 (----- BEGIN PKCS7-- ---)-inform der
peça. Observe também que, ao exportar uma chave do Windows Cert Manager, o DER e o P7B são duas opções distintas.Então, para combinar as respostas acima, o comando é:
openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem
Verificado como funcionando no Windows, usando o OpenSSL-Win64
/ Bogdan Obrigado por detectar o erro
fonte
Segui este guia que o instrui a alterar as linhas de cabeçalho / rodapé de
para
Em seguida, execute o comando
openssl pkcs7 -in foo.modified.crt -print_certs -out foo.certs
(ondefoo.modified.crt
está o arquivo em que você salvou a versão modificada). Isso me deu os mesmos resultados da execução de uma exportação de certificado do Windows, conforme sugerido em outras respostas.fonte
Tanto quanto eu sei, o seguinte deve converter um certificado pkcs7 em um pem
fonte
solução rápida no meu caso (muitos arquivos com cabeçalho / rodapé ausentes):
base64 -d $FILE | openssl pkcs7 -inform DER -print_certs
fonte
Eu tive esse problema também. Ia verificar um arquivo p7b que copiei de um host Win7.
Eu descobri que o chaveiro do gnome pode importar o certificado. A partir daí, é fácil exportar para o DER
fonte