erreur keytool: java.lang.Exception: N'a pas établi la chaîne de la réponse

génère un fichier de clés:

keytool -genkey -alias tomcat -keyalg RSA -keystore my.keystore -keysize 2048

Générer de la demande de signature de certificat (CSR):

keytool -certreq -alias tomcat -keyalg RSA -file my.csr -keystore my.keystore

je vais ensuite chez mon hébergeur et obtenir quelques certificats. Ces j'ai installé comme suit:

keytool -import -alias root -keystore my.keystore -trustcacerts -file gd_bundle-g2-g1.crt
keytool -import -alias intermed -keystore my.keystore -trustcacerts -file gdig2.crt
keytool -import -alias tomcat -keystore my.keystore -trustcacerts -file my.crt

lorsque j'ai installé le certificat final (my.crt) j'ai eu l'erreur suivante:

keytool error: java.lang.Exception: Failed to establish chain from reply

je crois que j'ai importé la chaîne et dans le bon ordre, donc je suis très perturbée par ce message. N'importe qui peut voir ce que je fais mal?

26
demandé sur Mike Cluck 2014-05-12 18:26:37

6 réponses

je viens de découvrir que les fichiers fournis par godaddy avec mon certificat sont tous les deux des certificats intermédiaires (en fait, ils semblent tous les deux être le même certificat intermédiaire).

j'ai obtenu les bons certificats racine et intermédiaire en double cliquant sur mon certificat et en regardant le chemin du certificat... de là, je pourrais aussi télécharger chacun de ces certificats et utiliser les étapes utilisées dans la question pour les importer

enter image description here

26
répondu Edd 2014-05-12 15:07:21

j'ai vu mon certificat sur mon ordinateur portable (en utilisant Windows 8.1). J'y ai vu la chaîne des certificats et j'ai pu exporter les certificats racine et intermédiaire. Puis J'Ai je les ai importés et ça a marché.

  1. Visualisez votre certificat sur un ordinateur sous Windows. Vous pourrez voir la chaîne de certificats sur le troisième onglet qui ressemble à l'image suivante.enter image description here

  2. Sélectionnez le certificat racine de la chaîne et cliquez sur le bouton "Afficher le Certificat".

  3. Une nouvelle fenêtre s'ouvre, allez dans le deuxième onglet et cliquez sur "Enregistrer le Fichier". Ceci ouvre un assistant d'exportation pour votre certificat.
  4. lors de l'exportation, sélectionnez L'option X. 509 base 64 et suivez les instructions. Enregistrez le fichier.
  5. répéter pour le certificat intermédiaire.
  6. Téléchargez les deux certificats sur votre serveur et importez - les dans le keystore suivant la commande-première racine, deuxième intermédiaire et finalement votre certificat. [Il n'est pas nécessaire d'importer la racine certificat]

NOTE: Avant d'importer ces certificats, j'ai dû supprimer ceux qui étaient sur mon clavier et ne fonctionnaient pas. Pour ce faire, j'ai utilisé les instructions suivantes:

keytool -delete -alias [root] -keystore [keystore file]

si vous n'êtes pas sûr de ce qu'il y a à l'intérieur de votre clavier, vous pouvez le voir en utilisant:

keytool -list -keystore [keystore file]
16
répondu Alejandro von Wuthenau 2017-12-13 15:12:50

j'ai eu la même erreur en essayant d'importer des certificats certifiés CA dans le keystore, dans un environnement Linux.

j'ai suivi un ensemble d'étapes et je l'ai importé avec succès.

après avoir reçu les certificats certifiés CA, utilisez les étapes suivantes pour importer les certificats dans le keystore.

etape 1:

importer le certificat racine vers cacerts qui sera disponible dans le dossier JAVA_HOME/jre/lib/security en utilisant le fichier suivant commande:

keytool -importcert -alias root -file [root certificate] -keystore cacerts

une fois que vous aurez entré la commande ci-dessus, vous obtiendrez le mot de passe, le saisissez et cliquez sur Oui.

etape 2:

importer le certificat racine en utilisant la commande suivante:

keytool -importcert -alias root -file [root certificate] -keystore [keystore file name]

une fois que vous aurez entré la commande ci-dessus, vous obtiendrez le mot de passe, le saisissez et cliquez sur Oui.

Etape 3:

importer le certificat intermédiaire en utilisant la commande suivante:

keytool -importcert -alias intermediate -file [intermediate certificate] -keystore [key store file name]

une fois que vous entrez la commande ci-dessus, il invite à remplacer le certificat déjà entré Oui.

Remarque: certificat intermédiaire est en option peut être ignoré, il est livré avec le certificat racine.

Etape 4:

importer le certificat de site en utilisant la commande suivante:

keytool -trustcacerts -importcert -alias [alias name which give during keystore creation] -file [site certificate] -keystore [key store file name]

environnement exécuté cette commande est java version 7. les certificats sont délivrés par GODADDY.

pour plus d'information, consulter le site : http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html#importCertCmd

14
répondu user2870979 2016-03-25 20:08:56

Pour résoudre ce problème, utilisez un interrupteur supplémentaire ( -trustcacerts) dans les commandes keytool.

la commande d'importer des certificats intermédiaires de l'intermédiaire.fichier cer pour les certificats.le fichier keystore de ks devrait ressembler à ceci:

keytool-storetype jceks-storepass passwd-keystore certificats.ks-import-alias intermédiaire -trustcacerts -le fichier intermédiaire.cer

La commande pour importer le certificat de l' http.fichier cer pour les certificats.le fichier keystore de ks devrait ressembler à ceci:

keytool-storetype jceks-storepass passwd-keystore certificats.KS-import-alias http -trustcacerts - Fichier http.cer

ré-essayer de terminer le processus de création et d'importation d'un certificat SSL signé.

2
répondu Viraj Nevase 2015-11-30 08:18:56

télécharger la chaîne de certificats, l'ouvrir sur Windows - it stocke le certificat de L'AC et votre réponse de certificat de L'AC.

d'abord importer CA cert à votre keystore, puis importer answer à partir de CA.

1
répondu SpriteCZ 2016-09-16 21:19:02

L'étape suivante est très importante avant d'importer le certificat dans votre magasin de clés. Après réception des Cert signés par L'AC).

importer le certificat racine vers cacerts qui sera disponible dans le dossier JAVA_HOME/jre/lib/security en utilisant la commande suivante:

keytool-importcert-alias root-file [certificat root] - keystore cacerts une fois que vous entrez la commande ci-dessus, elle vous demandera le mot de passe, entrez le mot de passe et cliquez sur Oui.

0
répondu user3877963 2015-08-26 20:08:01