Mensagem de erro do Firefox ao adicionar um certificado de cliente assinado pela CA

4

Estou recebendo esta mensagem quando estou tentando adicionar um certificado à "guia de certificado" do Firefox. Eu gerenciei e assinei antes por um servidor que também é uma autoridade de certificação.

Failed to decode the file. Either it is not in PKCS #12 format, has been corrupted, or the password you entered was incorrect.

Ele me pede para digitar uma senha e, em seguida, esta mensagem é alertada. o que há de errado? Estou seguindo este tutorial .

UPDATE # 1

comandos que usei:

 openssl genrsa -out rootCA.key 2048
 openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem       
 openssl genrsa -out device.key 2048     
 openssl req -new -key device.key -out device.csr       
 openssl x509 -req -in device.csr -CA rootCA.pem \
        -CAkey rootCA.key -CAcreateserial -out device.crt -days 500

O certificado adicionado é device.crt, há o PKS12 que o Firefox solicita na sua guia de certificados. Devo mudar seu formato?

    
por Nancy Smith 27.04.2013 / 09:42

1 resposta

2

1: Confirmando o tipo de arquivo de certificado

Parece que o arquivo que você está tentando importar não é, na verdade, um arquivo .pk12. Eu executaria este comando para confirmar o tipo de arquivo que você está importando:

openssl pkcs12 -info -in keyStore.p12

Você deve ver algo ao longo destas linhas:

Enter Import Password:
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
    localKeyID: 74 FF 2A 04 58 90 06 B5 A0 5C EF DA C0 9B 6C AD 91 BD 1F 54 
    friendlyName: [friendly name]
subject=/C=US/ST=NY/O=My Company/OU=dept/CN=blah.blah.com
issuer=/O=My Company/OU=dept/[email protected]/L=My Town/ST=NY/C=US/CN=blah.blah.com
-----BEGIN CERTIFICATE-----

!!!REMOVED CERTIFICATE!!!!

-----END CERTIFICATE-----
Certificate bag
Bag Attributes: <No Attributes>
subject=/O=My Company/OU=dept/[email protected]/L=My Town/ST=NY/C=US/CN=blah.blah.com
issuer=/O=My Company/OU=dept/[email protected]/L=My Town/ST=NY/C=US/CN=blah.blah.com
-----BEGIN CERTIFICATE-----

!!!REMOVED CERTIFICATE!!!

-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Bag Attributes
    localKeyID: 74 FF 2A 04 58 90 06 B5 A0 5C EF DA C0 9B 6C AD 91 BD 1F 54 
    friendlyName: [friendly name]
Key Attributes: <No Attributes>
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN ENCRYPTED PRIVATE KEY-----

!!!REMOVED CERTIFICATE!!!

-----END ENCRYPTED PRIVATE KEY-----

O OP executou o comando acima e obteve este erro:

your command didn't work 
3077953260:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1320: 3077953260:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:382:Type=PKCS12

Este erro estava dizendo ao OP que o arquivo .crt que eles tinham não era um arquivo pkcs12 / pfx.

Nesse ponto, o OP compartilhou outra pergunta: " Falha ao assinar o CSR com a chave raiz da CA " perguntou relacionado a este mesmo assunto.

Depois de ler um dos comentários, o OP estava, na verdade, tentando carregar um arquivo .crt em um diálogo dentro do Firefox que estava esperando um certificado formatado pkcs12 / pfx. Veja abaixo como converter um .crt para um certificado pkcs12 / pfx.

2. Diálogo "Seus Certificados" do Firefox

Encontrei esta pergunta no fórum de suporte do Firefox intitulado: Instalando certificados no formato .crt em "Seus certificados" , que diz o seguinte:

I have a certificate in the .crt format which needs to be in the "Your Certificates" tab.

Firefox only allows certificates in the .p12 and .pfx formats there.

How do I import this certificate into the "Your certificates" tab?

I tried to see if I can convert .crt into .p12 but no luck. (the same certificate I was able to convert to .p7b and .spc format)

Como parece que você tem um arquivo .crt, você pode convertê-lo em um arquivo pkcs12 / pfx usando o openssl:

openssl pkcs12 -export -in certificate.cer -inkey privateKey.key \
      -out certificate.pfx -certfile CACert.cer

NOTA: Nesse exemplo, o CACert.cer seria o arquivo .crt da CA. Esse comando está misturando seu arquivo .crt e o arquivo .crt da CA em um arquivo pkcs12 / pfx.

O OP executou este comando:

sudo openssl pkcs12 -export -in certs/device.crt -inkey private/device.key -out safaa.pfx -certfile certs/myca.crt

Referências

por 27.04.2013 / 10:52