java - keytool错误: java. lang.RuntimeException : Usage error, –delete不是合法命令

标签 java keytool

我正在尝试在 ahsayobs 上设置 SSL,但没有成功。第一步是删除计算机上安装的默认证书。我正在运行java版本1.6。这是我正在做的事情:

[root@backup ~]# /data/obs_6.5/java-linux-x86/bin/keytool –delete –alias tomcat –keystore /Applications/AhsayOBS/conf/keystore
keytool error: java.lang.RuntimeException: Usage error, –delete is not a legal command
[root@backup ~]# /data/obs_6.5/java-linux-x64/bin/keytool –delete –alias tomcat –keystore /Applications/AhsayOBS/conf/keystore
keytool error: java.lang.RuntimeException: Usage error, –delete is not a legal command
[root@backup ~]# /data/obs/java-linux-x64/bin/keytool –delete –alias tomcat –keystore /Applications/AhsayOBS/conf/keystore
keytool error: java.lang.RuntimeException: Usage error, –delete is not a legal command

下一步是创建一个 CSR,该 CSR 也会返回使用错误,-genkey 不是合法命令。就好像 keytool 甚至没有安装。但我没有收到该错误,并且 locate keytool 显示了它的几个不同位置(我已经尝试了所有这些位置)。每个都显示相同的错误。关于我做错了什么有什么想法吗?

编辑

哦天哪...看来我从(keytool -delete -alias...等)复制/粘贴命令的文章没有使用常规连字符,这就是它被抛弃的原因。这是我最终使用的:

### First, delete the previous keystore file
/data/obs_6.5/java-linux-x86/bin/keytool -delete -alias tomcat -keystore /data/obs/conf/keystore

### Then, create a new keystore file
/data/obs_6.5/java-linux-x86/bin/keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore /data/obs/conf/keystore

### You will be asked for normal SSL info such as your name, department, company, etc.

/data/obs_6.5/java-linux-x86/bin/keytool -certreq -keyalg RSA -alias tomcat -keystore /data/obs/conf/keystore

### Save the intermediate certificate and the SSL certificate into the /data/obs/conf/ folder
### Use the below commands to import them into the keytool
/data/obs_6.5/java-linux-x86/bin/keytool -import -alias intermed -trustcacerts -file sf_intermediate.crt -keystore /data/obs/conf/keystore
/data/obs_6.5/java-linux-x86/bin/keytool -import -alias tomcat -trustcacerts -file backup.atomicx.com.crt -keystore /data/obs/conf/keystore

### Check the keytool to make sure it was successful
/data/obs_6.5/java-linux-x86/bin/keytool -list -alias tomcat -keystore /data/obs/conf/keystore

### Make sure /data/obs/conf/server.xml has the correct keystore folder path
<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> <!-- <Connector port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="path to your keystore file" keystorePass="changeit" clientAuth="false" sslProtocol="TLS"/>

最佳答案

我发现我在哪里复制并粘贴了命令,连字符实际上不是连字符,而是破折号。一旦我更换了它们,我就不再收到错误了。然而,这是我当时所做的一切,以防有人需要。

### First, delete the previous keystore file
/data/obs_6.5/java-linux-x86/bin/keytool -delete -alias tomcat -keystore /data/obs/conf/keystore

### Then, create a new keystore file
/data/obs_6.5/java-linux-x86/bin/keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore /data/obs/conf/keystore

### You will be asked for normal SSL info such as your name, department, company, etc.

/data/obs_6.5/java-linux-x86/bin/keytool -certreq -keyalg RSA -alias tomcat -keystore /data/obs/conf/keystore

### Save the intermediate certificate and the SSL certificate into the /data/obs/conf/ folder
### Use the below commands to import them into the keytool
/data/obs_6.5/java-linux-x86/bin/keytool -import -alias intermed -trustcacerts -file sf_intermediate.crt -keystore /data/obs/conf/keystore
/data/obs_6.5/java-linux-x86/bin/keytool -import -alias tomcat -trustcacerts -file backup.atomicx.com.crt -keystore /data/obs/conf/keystore

### Check the keytool to make sure it was successful
/data/obs_6.5/java-linux-x86/bin/keytool -list -alias tomcat -keystore /data/obs/conf/keystore

### Make sure /data/obs/conf/server.xml has the correct keystore folder path, and that it uses the same password that you set earlier
<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> <!-- <Connector port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="path to your keystore file" keystorePass="changeit" clientAuth="false" sslProtocol="TLS"/>

关于java - keytool错误: java. lang.RuntimeException : Usage error, –delete不是合法命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17195335/

相关文章:

java - 我可以使用证书存储中的现有证书签署 JAR 文件吗?

java - 在任何浏览器中加载 EToken 证书

java - AtomicInteger.compareAndSet 返回原始值,而不是 boolean 值

java - 从Android中的其他类调用主类方法

java - 如何创建json模型类?

java - 使用 PKCS 证书 (.spc) 对 jar 文件进行签名

java - 加密后解密不返回原始字节数组?

java - 无法从 keytool 在 JVM 中导入证书

java - 使用 Java 在 MongoDB 中进行查询优化

Java Hashtable put 方法减慢了我的应用程序的速度