Keytool 未被识别为内部或外部命令
我正在尝试使用 本文中的说明.当我输入以下命令时:
C:ColdFusion8untimejrelib>keytool -list -storepass changeit -noprompt -keystore
我收到以下错误:
<块引用>'keytool' 不是内部或外部命令、可运行程序或批处理文件.
我检查了包含我的 keytool 可执行文件的目录是否在路径中.(在我的 Windows 7 机器上,它位于 C:Program Files (x86)Javajre6in
)尽管如此,命令行将无法识别 keytool
命令.
我假设文档中提到了两个单独的命令:
C:CFusionMXuntimejrelib>keytool -list -storepass changeit -noprompt -keystore
C:CFusionMXuntimejrelibsecuritycacerts
顺便说一句,我可以使用以下过程而不是答案中提到的复杂步骤吗?
- 当我在浏览器中打开 WSDL 时,我看到了 Lock 图标,当我点击它时会打开一个证书"窗口
然后我点击安装证书"选项
打开了一个证书导入向导窗口,我点击了下一步,我看到了两个选项
- a) 根据证书类型自动选择证书存储(此选项是自动选择的)
- b) 将所有证书放在以下存储中
我决定选择选项 (b)
,但我很困惑我应该在这里选择哪个证书存储.
你得到这个错误是因为 keytool
可执行文件在 bin
目录下,而不是 >lib
目录在您的示例中.您还需要在命令行中添加 keystore
的位置.这里有一个很好的参考 - Jrun帮助/导入证书 |证书存储 |冷融合
默认信任库是 JRE 的 cacerts 文件.该文件通常位于以下位置:
服务器配置:
cf_root/runtime/jre/lib/security/cacerts
JRun 4 配置上的多服务器/J2EE:
jrun_root/jre/lib/security/cacerts
Sun JDK 安装:
jdk_root/jre/lib/security/cacerts
查阅其他 J2EE 应用服务器和 JVM 的文档
<小时><块引用>
keytool 是 Java SDK 的一部分,可以在以下位置找到:
服务器配置:
cf_root/runtime/bin/keytool
JRun 4 配置上的多服务器/J2EE:
jrun_root/jre/bin/keytool
Sun JDK 安装:
jdk_root/bin/keytool
查阅其他 J2EE 应用服务器和 JVM 的文档
因此,如果您导航到 keytool
可执行文件所在的目录,您的命令行将如下所示:
keytool -list -v -keystore JAVA_HOMEjrelibsecuritycacert -storepass changeit
您需要提供路径信息,具体取决于您运行 keytool 命令的位置以及证书文件所在的位置.
另外,请确保您正在更新 ColdFusion 正在使用的正确 cacerts 文件.如果您在该服务器上安装了多个 JRE.您可以在系统信息"下从管理员那里验证 JRE ColdFusion 是否正在使用.查找 Java Home 行.
I am trying to discover the list of trusted authorities in my Java Runtime using the instructions in this article. When I typed the command below:
C:ColdFusion8untimejrelib>keytool -list -storepass changeit -noprompt -keystore
I got the following error:
'keytool' is not recognized as an internal or external command, operable program or batch file.
I checked that the directory containing my keytool executable is in the path.
(On my Windows 7 machine, it's in C:Program Files (x86)Javajre6in
)
Despite this, the command line will not recognise the keytool
command.
I'm assuming that there are two separated commands mentioned in the doc:
C:CFusionMXuntimejrelib>keytool -list -storepass changeit -noprompt -keystore
C:CFusionMXuntimejrelibsecuritycacerts
EDIT:
By the way can I use the following process instead of complex steps mentioned in the answer?
- When I opened the WSDL into my browser, I saw the Lock icon, when I clicked on it a "Certificate" window opened
Then I clicked on "Install Certificate" option
A Certificate Import Wizard window opened, I clicked on Next I saw two options
- a) Automatically select the certificate store based on the type of certificate (this option was selected automatically)
- b) Place all certificates in the following store
I decided to select option (b)
, but I'm confused which certificate store I should select here.
You are getting that error because the keytool
executable is under the bin
directory, not the lib
directory in your example. And you will need to add the location of your keystore
as well in the command line. There is a pretty good reference to all of this here - Jrun Help / Import certificates | Certificate stores | ColdFusion
The default truststore is the JRE's cacerts file. This file is typically located in the following places:
Server Configuration:
cf_root/runtime/jre/lib/security/cacerts
Multiserver/J2EE on JRun 4 Configuration:
jrun_root/jre/lib/security/cacerts
Sun JDK installation:
jdk_root/jre/lib/security/cacerts
Consult documentation for other J2EE application servers and JVMs
The keytool is part of the Java SDK and can be found in the following places:
Server Configuration:
cf_root/runtime/bin/keytool
Multiserver/J2EE on JRun 4 Configuration:
jrun_root/jre/bin/keytool
Sun JDK installation:
jdk_root/bin/keytool
Consult documentation for other J2EE application servers and JVMs
So if you navigate to the directory where the keytool
executable is located your command line would look something like this:
keytool -list -v -keystore JAVA_HOMEjrelibsecuritycacert -storepass changeit
You will need to supply pathing information depending on where you run the keytool command from and where your certificate file resides.
Also, be sure you are updating the correct cacerts file that ColdFusion is using. In case you have more than one JRE installed on that server. You can verify the JRE ColdFusion is using from the administrator under the 'System Information'. Look for the Java Home line.
相关文章