Keytool не распознается как внутренняя или внешняя команда
Я пытаюсь найти список доверенных органов в моей среде выполнения Java, используя инструкции в этой статье. Когда я набрал команду ниже:
C:ColdFusion8runtimejrelib>keytool -list -storepass changeit -noprompt -keystore
я получил следующую ошибку:
'' не распознается как внутренней или внешней командой, исполняемой программой или пакетным файлом.
Я проверил, что каталог, содержащий мой исполняемый файл keytool, находится в пути.
(На моей машине Windows 7 он находится в C:Program Files (x86)Javajre6bin
)
Несмотря на это, командная строка не распознает .
Я предполагаю, что есть две отдельные команды, упомянутые в doc:
C:CFusionMXruntimejrelib>keytool -list -storepass changeit -noprompt -keystore
C:CFusionMXruntimejrelibsecuritycacerts
EDIT:
кстати, могу ли я использовать следующий процесс вместо сложных шагов, упомянутых в ответе?
- когда я открыл WSDL в своем браузере, Я увидел значок замка, когда я нажал на него, открылось окно "сертификат"
затем я нажал на "Установить сертификат"
-
окно Мастера импорта сертификатов открылось, я нажал на кнопку Далее я увидел два варианта
- a) автоматически выбрать хранилище сертификатов в зависимости от типа сертификата (этот параметр был выбран автоматически)
- b) Поместите все сертификаты в следующее магазин
я решил выбрать вариант (b)
, но я смущен, какое хранилище сертификатов я должен выбрать здесь.
4 ответов
вы получаете эту ошибку, потому что keytool
исполняемый файл под , а не lib
каталог в вашем примере. И вам нужно будет добавить местоположение вашего keystore
также в командной строке. Есть очень хорошая ссылка на все это здесь - справка Jrun / импорт сертификатов / хранилища сертификатов / ColdFusion
по умолчанию truststore является файлом cacerts JRE. Этот файл обычно находится в следующем места:
Конфигурация Сервера:
cf_root / runtime/jre/lib/безопасность / cacerts
Multiserver / J2EE на конфигурации JRun 4:
jrun_root/jre/lib/безопасность / cacerts
установка Sun JDK:
jdk_root/jre/lib/безопасность / cacerts
обратитесь к документации для других серверов приложений J2EE и JVMs
keytool является частью Java SDK и может быть найден в следующих местах:
Конфигурация Сервера:
cf_root / runtime/bin / keytool
Multiserver / J2EE на конфигурации JRun 4:
jrun_root/jre/bin / keytool
установка Sun JDK:
jdk_root/bin / keytool
обратитесь к документации для других серверов приложений J2EE и JVMs
поэтому, если вы перейдете в каталог, где keytool
исполняемый файл находится ваша командная строка будет выглядеть примерно так:
keytool -list -v -keystore JAVA_HOME\jre\lib\security\cacert -storepass changeit
вам нужно будет предоставить информацию о паттинге в зависимости от того, где вы запускаете команду keytool откуда и где находится файл сертификата.
кроме того, убедитесь, что вы обновляете правильный файл cacerts, который использует ColdFusion. Если на этом сервере установлено несколько JRE. Вы можете проверить, что JRE ColdFusion использует от администратора под "системной информацией". Ищите домашнюю линию Java.
-
добавить JDK в / bin до
PATH
переменные среды. Вы можете сделать это в разделе Системные настройки > переменные среды или через CLI:set PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_80\bin
закройте и откройте окно CLI
выполнить следующую команду:
set PATH="C:\Program Files (x86)\Java\jre7"
(в зависимости от JRE
существует в случае 64bit).
потому что ваш путь Java не установлен, так что вы можете просто сделать это в командной строке и выполните keytool
команда import.