一尘不染

如何在IE可信根证书颁发机构存储中自动安装自签名证书

tomcat

我创建了一个自签名证书,但是浏览器告诉我“此CA根证书不受信任。要启用信任,请在受信任的根证书颁发机构存储中安装此证书”。

通过进入IE-> Internet选项->内容->证书-> ect
…,我实际上必须导出自签名证书,然后将其导入“受信任的根证书”。仅在证书位于用户计算机中的ROOT存储下之后,IE才会显示任何警告。

这将部署在生产环境中,因此让用户手动执行上述步骤是不可接受的。

如何自动执行此操作?我只希望他们接受并且不具有该“证书错误”,并且在IE中将URL栏设置为“红色”。

我正在使用Tomcat 5.5。我还遵循了与Tomcat SSL How To Tutorial
http://tomcat.apache.org/tomcat-5.5-doc/ssl-
howto.html中相同的步骤。

提前致谢。


阅读 626

收藏
2020-06-16

共1个答案

一尘不染

Java 6提供了一个名为SunMSCAPI的密码提供程序,以访问Windows密码库API。该提供程序实现包含所有信任锚证书的密钥库“ Windows-
Root”。

可以在此密钥库中插入证书。

KeyStore root = KeyStore.getInstance("Windows-ROOT");
root.load(null);
/* certificate must be DER-encoded */
FileInputStream in = new FileInputStream("C:/path/to/root/cert/root.der");
X509Certificate cacert = (X509Certificate)CertificateFactory.getInstance("X.509").generateCertificate(in);
root.setCertificateEntry("CACert Root CA", cacert);

如果需要确认,将提示用户。如果该操作被用户取消,则抛出KeyStoreException。

可以在以下位置找到有关提供程序的一些技术说明:http
:
//download.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html#SunMSCAPI

2020-06-16