我们有一个本地托管的应用程序,我们使用java keytool命令行实用程序创建自签名证书和密钥库,以便通过https运行应用程序。
我们现在正在更改,并希望从图形用户界面创建密钥库和自签名证书。那么有没有可以满足所有需求的开源工具,或者我必须使用Java Swings开发它?
请建议什么是最佳选择。
答案 0 :(得分:1)
据我所知,JRE的公共API中没有任何内容可以让您这样做,但您可以使用第三方库(如BouncyCastle)颁发证书。 this question中有一段代码可以给你一个例子(尽管如果你想避免这个特殊问题,不要忘记阅读问题及其答案)。当然,您也可以直接查看X509v3CertificateBuilder
的文档。
使用起来并不困难,但您可能需要先尝试多种解决方案,以便生成具有所需属性和扩展名的证书。
值得在开发过程中使用keytool
来导出和比较证书。使用openssl x509 -text ...
检查您正在生成的证书的内容也很有用。
答案 1 :(得分:1)
使用图示为ProcessBuilder
的here来执行所需的keytool
命令。使用JPasswordField
让用户输入所需的keystone
密码。请考虑使用here显示的方法java-web-start和自签名证书。