Exportando um certificado no formato PKCS12 do firefox

6

Eu importei um certificado para o firefox e quero exportá-lo para o formato PKCS12. As únicas opções que eu encontro são PKCS7, PEM e DIR. e não PKCS12. Eu duvido que o certificado não tenha chave privada, então existe uma maneira de verificar isso?

EDIT Meu problema estava no navegador Chrome, que usei quando solicitei o certificado. Parece que tem um problema com o armazenamento da chave privada. Eu repeti o pedido com o Firefox e as coisas correram bem.

    
por Tarek 03.07.2012 / 15:57

2 respostas

4

Você pode ver o conteúdo do Certificado no Firefox
 ( Tools -> Options -> Advanced -> Encryption -> View Certs -> Yours/Authority/etc -> <cert> -> View -> Details -> Certificate Fields -> Public Key )

Se você puder exportar para o PEM, poderá convertê-lo para PKCS12

# export mycert.pem as PKCS#12 file, mycert.pfx
openssl pkcs12 -export \
  -out mycert.pfx -in mycert.pem \
  -name "My Certificate"

Atualização: exemplos de uso do OpenSSL

Gerar um certificado autoassinado

  $ openssl req \
  >   -x509 -nodes -days 365 \
  >   -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

Veja seu conteúdo

  $ openssl x509 -in mycert.pem -noout -text

Veja o arquivo PEM

  $ cat mycert.pem
  -----BEGIN RSA PRIVATE KEY-----
  MIICXAIBAAKBgQDa6JQOLkwoIGhTvcTSYX68Ddaq4hGk/61RSVELaVFJTNQYPB86
  …
  aPj0KoeFJ04/sLcZNZwGcC93rNA66xTICLtGbBXlM1U=
  -----END RSA PRIVATE KEY-----
  -----BEGIN CERTIFICATE-----
  MIICxTCCAi6gAwIBAgIJAOaxxgLFlypwMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNV
  …
  tz0TMEYxbGIscZbxeJxoK6pe5tOwXtdjStlcITzksdPV5rLp84aeJl4=
  -----END CERTIFICATE-----

Observe que, embora um arquivo PEM possa conter chave privada e um certificado, a chave privada não faz parte do certificado X.509.

Se o PEM exportado por FF não tiver os marcadores BEGIN e END ao redor dos dados codificados em Base64, o OpenSSL não poderá ler o arquivo PEM.

Veja o certificado de CA que eu exportuei do Firefox (* visualizado, por exemplo, no bloco de notas)

-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
…
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----

(reticências… onde os dados foram omitidos por brevidade)

Eu posso ver isso OK usando openssl x509 -in ff.crt -noout -text (cortei e colei do Windows para o Linux, mas você também pode instalar o openssl no Windows)

    
por 03.07.2012 / 16:01
3

Isso porque você não tem a chave privada correspondente para esse certificado.

Na criptografia, o PKCS # 12 é um formato de chave empacotado que é comumente usado para armazenar a chave privada com seu certificado X.509 juntos. Veja mais informações na Wikipedia aqui .

Você só pode exportar certificados no formato PKCS # 12 se tiver a chave privada que pertence a ela em seu navegador. Isso deve estar no mesmo computador e no mesmo navegador usado para gerar o certificado de assinatura de chave. Veja artigo da Base de Conhecimento da CaCert para uma explicação mais clara:

" Suas chaves estão contidas em algo chamado "loja" chave. Você pode exportar pares de chaves públicas / privadas de sua loja para um arquivo e, opcionalmente (mas altamente recomendado!), Prendê-los com uma frase secreta. Isso geralmente é feito indo para a seção "Gerenciar Certificados" do seu navegador (por exemplo, Firefox) e, em seguida, executando um "Backup" de sua chave. Isso criará um arquivo com um sufixo .P12 ou .PFX.

"

    
por 25.03.2014 / 21:58