我们需要在Web应用程序中提供一个选项,以导入自签名证书(主要针对需要使用自己的证书的客户)。是否可以导入客户已经拥有的自签名证书(通过Web上传并从keytool导入)还是我们应该每次生成带有其详细信息的证书?(我们正在使用keytool生成证书)?
最佳答案
这些是客户端证书还是服务器证书?至于导入现有的或生成新的,则可以执行任何一个操作。
无论如何,我强烈建议您不要在应用程序中使用keytool编辑 keystore 。相反,假设您正在使用利用 javax.net.ssl
包中的类的API,则可以提供自定义实现,以对一组受信任的证书执行自己的验证,并将其扩展到几乎您需要的任何内容。如http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#SSL_Support所述,甚至可以使用trustManagerClassName
配置选项将其配置为类似Apache Tomcat的东西。
(主要发布此答案,以试图使该问题获得更多关注/竞争性答案,或者至少将其从不断增加的未回答问题列表中删除。)