我低于错误-

keytool error: java.lang.IllegalArgumentException: publicKey's is not X.509, but X509


当尝试使用以下命令生成密钥库时-

keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -validity 366 -storepass test -keypass password -dname 'cn=${env.HOSTNAME},ou=foo,o=bar,l=testCity,s=testState,c=testCoutry' -keystore


我在Ubuntu盒子上将JDK升级到1.7更新40后看到此错误。

最佳答案

在Windows上升级到1.7u45后,我的团队遇到了相同的错误消息。当http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7109096反向移植到JDK 7时,引入了此错误消息。

代码更改的相关部分在CertAndKeyGen.java中:

+        // publicKey's format must be X.509 otherwise
+        // the whole CertGen part of this class is broken.
+        if (!"X.509".equalsIgnoreCase(publicKey.getFormat())) {
+            throw new IllegalArgumentException("publicKey's is not X.509, but "
+                    + publicKey.getFormat());
+        }


似乎默认的publicKey格式不正确,或者应该将equals检查更新为也检查“ X509”。

关于java - keytool错误:java.lang.IllegalArgumentException:publicKey不是X.509,而是X509,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19153413/

10-12 14:19