2010-08-10 20 views
9

J'essaye d'importer le certificat de Gmails smtp pour l'usage avec Jira, mais j'obtiens cette erreur en important en utilisant l'outil de clavier de Javas.erreur keytool: java.lang.Exception: entrée pas un certificat X.509

J'ai utilisé openssl pour obtenir le certificat, tout entre ---- Begin Certificate ---- et ---- End Certificate ---- (inclus). J'ai également tenté de créer un certificat x.509 à l'aide du Gestionnaire de certificats Windows, mais je reçois toujours cette erreur. J'ai vérifié qu'il n'y a pas d'espaces supplémentaires dans le fichier.

J'ai vu beaucoup de gens avec ce problème en ligne, mais aucune des solutions ne semble fonctionner pour moi. Toute aide serait appréciée.

Merci

Répondre

16

openssl x509 -outform der -in foo.pem -out foo.der

Utilisez ensuite le certificat de sortie codé DER.

+0

J'espérais vraiment cela fonctionnerait, mais je continue à recevoir la font saillie même erreur. Voici ce que je fais exactement. OpenSSL s_client -connect smtp.gmail.com:465 je copie que dans un fichier appelé gmail.pem openssl x509 -outform der -in gmail.pem gmail.der -out keytool -import -file pathto /gmail.der -keystore pathTo/cacerts – dbbooh01

+0

Cela a effectivement fonctionné, j'ai oublié l'argument -trustcacerts lors de l'utilisation de keytool. Merci pour l'aide – dbbooh01

+0

@ dbbooh01 la raison pour laquelle cela a probablement fonctionné est parce que '-trustcacerts' importe les CA racine standard du fichier cacerts distribué. Cela inclurait les autorités de certification racine qui faisaient partie de la chaîne de confiance pour Gmail. –

5

La réponse est correcte mais veillez à INCLURE les -----BEGIN CERTIFICATE----- et -----END CERTIFICATE----- dans le copier/coller. Cette commande travaillera alors:

openssl x509 -outform der -in gmail.pem -out gmail.der 

puis vous faire:

sudo keytool -import -file gmail.der -keystore $JAVA_HOME/jre/lib/security/cacerts -trustcacerts 
+0

Yepp, c'était aussi la cause de mon problème – Andrejs

2

Malheureusement, OpenSSL ne fonctionne pas pour moi.

unable to load certificate 2740:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:./crypto/as n1/tasn_dec.c:1294: 2740:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:./ crypto/asn1/tasn_dec.c:380:Type=X509_CINF 2740:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 e rror:./crypto/asn1/tasn_dec.c:749:Field=cert_info, Type=X509 2740:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:./crypto/pem/pem_oth .c:83:

Utilisé cette base de connaissances et le succès suivi.

https://knowledge.verisign.ch/support/code-signing-support/index?page=content&id=SO18659&actp=search&viewlocale=en_US&searchid=1343045026667