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