2010-04-09 11 views
7

J'essaye de configurer un serveur Tomcat avec SSL. J'ai produit une paire de clés ainsi:Importation de certificats d'essai Thawte dans un keystore Java

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

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

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

Puis-je copier-coller le contenu de tomcat.csr dans un formulaire sur le site Web de Thawte, demandant un procès Certificat SSL. En retour, je reçois deux certificats délimités par -----BEGIN ... -----END, que je sauvegarde sous tomcat.crt et thawte.crt. (Thawte appelle le second certificat un certificat 'Thawte Test CA Root').

Lorsque je tente 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 

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

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

Répondre

14

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 des certificats au format X.509.

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

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

vous pouvez maintenant importer thawtetest.x509 avec keytool et tomcat.crt juste derrière.

+0

Merci ... Vous penseriez qu'ils le mentionneraient dans l'e-mail ... Depuis l'intermédiaire (également dans l'e-mail) est x509! –

0

Vous devriez pouvoir importer des chaînes PKCS # 7 en utilisant keytool, à condition d'utiliser 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 pas y avoir de problème lors de l'importation du fichier PKCS # 7 lui-même.

0

Ayant rencontré le même problème, j'ai trouvé this post qui m'a aidé. J'ai mis les certificats d'essai que j'ai reçus dans un seul fichier et utilisé keytool pour importer en faisant que l'ALIAS (keytool -alias param) que j'ai utilisé était différent (ie pas le même alias que j'ai utilisé lors de la création des certificats pour la requête). C'est un message d'erreur bizarre étant donné qu'il n'aime pas que vous essayiez d'importer le même alias.