Importation de certificats d'essai Thawte dans un magasin de clés Java


J'essaie de configurer un serveur Tomcat avec SSL. J'ai généré une paire de clés ainsi:

$ keytool -genkeypair -alias tomcat -keyalg RSA -keystore keys

Ensuite, je génère une demande de signature de certificat:

$ keytool -certreq -keyalg RSA -alias tomcat -keystore keys -file tomcat.csr

Ensuite, je copie-colle le contenu de tomcat.csr dans un formulaire sur le site Web de Thawte, demandant un certificat SSL d'essai. En retour, j'obtiens deux certificats délimités par -----BEGIN ... -----END, que j'enregistre sous tomcat.crt et thawte.crt. (Thawte appelle le deuxième certificat un certificat "Thawte Test CA Root").

Lorsque j'essaie d'importer l'un d'eux, il échoue:

$ keytool -importcert -alias tomcat -file tomcat.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Failed to establish chain from reply

$ keytool -importcert -alias thawte -file thawtetest.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Input not an X.509 certificate

Ajouter l'option -trustcacerts à l'une de ces commandes ne change rien non plus.

Une idée de ce que je fais mal ici?

Author: lindelof, 2010-04-09

3 answers

J'ai finalement compris ce qui se passait ici. Il s'avère que les réponses que j'ai obtenues de Thawte sont formatées en PKCS#7, alors que keytool attend un certificat au format X. 509.

openssl peut être utilisé pour convertir des certificats d'un format à un autre:

$ openssl pkcs7 -in thawtetest.crt -print_certs |
  openssl x509 > thawtetest.x509

Maintenant, vous pouvez importer thawtetest.x509, avec keytool, et tomcat.crt juste derrière elle.

 14
Author: lindelof, 2010-04-12 06:43:10

Vous devriez pouvoir importer des chaînes PKCS#7 en utilisant keytool, tant que vous utilisez une version plus récente. L'exportation des certificats dans des fichiers distincts fonctionnera également, mais si vous utilisez une version récente de keytool, il ne devrait y avoir aucun problème à importer le fichier PKCS#7 lui-même.

 0
Author: Shadowman, 2010-06-28 19:53:25

Avoir couru dans le même problème, j'ai trouvé ce post, qui m'a aidé. J'ai mis les certificats d'évaluation que j'ai reçus dans un seul fichier et utilisé keytool pour importer en faisant bien sûr, l'ALIAS (keytool-alias param) que j'ai utilisé était différent (ce n'est pas le même alias que j'ai utilisé lors de la création des certificats pour la demande). C'est un message d'erreur bizarre étant donné qu'il n'aime tout simplement pas que vous essayiez d'importer dans le même alias.

 0
Author: Paul Jowett, 2010-10-03 08:31:44