web-dev-qa-db-fra.com

Keytool n'est pas reconnu comme une commande interne ou externe

J'essaie de découvrir la liste des autorités de confiance dans mon Java Runtime en utilisant les instructions de cet article . Lorsque j'ai tapé la commande ci-dessous:

C:\ColdFusion8\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore

J'ai eu l'erreur suivante:

'keytool' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes.

J'ai vérifié que le répertoire contenant mon exécutable keytool se trouve dans le chemin. (Sur ma machine Windows 7, c'est dans C:\Program Files (x86)\Java\jre6\bin) Malgré cela, la ligne de commande ne reconnaîtra pas la commande keytool.

Je suppose qu'il y a deux commandes séparées mentionnées dans le document:

  1. C:\CFusionMX\runtime\jre\lib>keytool -list -storepass changeit -noprompt -keystore

  2. C:\CFusionMX\runtime\jre\lib\security\cacerts

MODIFIER:

Au fait, puis-je utiliser le processus suivant au lieu d'étapes complexes mentionnées dans la réponse?

  1. Lorsque j'ai ouvert le WSDL dans mon navigateur, j'ai vu l'icône de verrouillage, lorsque j'ai cliqué dessus, une fenêtre "Certificat" s'est ouverte
  2. Ensuite, j'ai cliqué sur l'option "Installer le certificat"

  3. Une fenêtre d'importation de certificat Wizard s'est ouverte, j'ai cliqué sur Suivant, j'ai vu deux options

    • a) Sélectionnez automatiquement le magasin de certificats en fonction du type de certificat (cette option a été sélectionnée automatiquement)
    • b) Placer tous les certificats dans le magasin suivant

J'ai décidé de sélectionner l'option (b), Mais je ne sais pas quel magasin de certificats je devrais sélectionner ici.

24
Jack

Vous obtenez cette erreur car l'exécutable keytool se trouve dans le répertoire bin, pas dans le répertoire lib dans votre exemple. Et vous devrez également ajouter l'emplacement de votre keystore dans la ligne de commande. Il y a une assez bonne référence à tout cela ici - Aide Jrun/Importer des certificats | Magasins de certificats | ColdFusion

Le fichier de clés certifiées par défaut est le fichier cacerts du JRE. Ce fichier se trouve généralement aux endroits suivants:

  • Configuration du serveur:

    cf_root/runtime/jre/lib/security/cacerts

  • Multiserveur/J2EE sur JRun 4 Configuration:

    racine_jrun/jre/lib/security/cacerts

  • Installation de Sun JDK:

    jdk_root/jre/lib/security/cacerts

  • Consulter la documentation des autres serveurs d'applications JVM et JVM


Le keytool fait partie du SDK Java et se trouve aux endroits suivants:

  • Configuration du serveur:

    cf_root/runtime/bin/keytool

  • Multiserveur/J2EE sur JRun 4 Configuration:

    racine_jrun/jre/bin/keytool

  • Installation de Sun JDK:

    jdk_root/bin/keytool

  • Consulter la documentation des autres serveurs d'applications JVM et JVM

Donc, si vous accédez au répertoire où se trouve l'exécutable keytool, votre ligne de commande ressemblera à ceci:

keytool -list -v -keystore Java_HOME\jre\lib\security\cacert -storepass changeit

Vous devrez fournir des informations de cheminement en fonction de l'endroit où vous exécutez la commande keytool et de l'emplacement de votre fichier de certificat.

Assurez-vous également de mettre à jour le fichier cacerts correct que ColdFusion utilise. Dans le cas où plusieurs JRE sont installés sur ce serveur. Vous pouvez vérifier que JRE ColdFusion utilise auprès de l'administrateur sous "Informations système". Recherchez le Java Home line.

23
Miguel-F
  1. Ajoutez le dossier / bin de votre JDK à la variable d'environnement PATH. Vous pouvez le faire sous Paramètres système> Variables d'environnement ou via CLI:

    set PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_80\bin
    
  2. Fermez et rouvrez votre fenêtre CLI

31
martoncsukas

Exécutez la cmd en tant que exécutez en tant qu'administrateur cela a fonctionné pour moi

7
Saurabh Chaturvedi

Exécutez la commande suivante:

set PATH="C:\Program Files (x86)\Java\jre7"

(quel que soit JRE existe en cas de 64 bits).

Parce que votre Java chemin d'accès n'est pas défini, vous pouvez simplement le faire sur la ligne de commande, puis exécuter la commande d'importation keytool.

2
Mitz K