我低于错误-
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/