gpt4 book ai didi

tomcat - 配置 Tomcat 以接受 DOD CAC 卡证书

转载 作者:行者123 更新时间:2023-11-28 21:45:30 25 4
gpt4 key购买 nike

我正在 Windows 机器上的独立 tomcat 6 服务器上运行应用程序。我希望它能够从 DoD CAC 卡请求和接收客户端证书。

我有一台运行 IE 的客户端计算机,该计算机正确设置为从 CAC 卡传递证书,我知道它是正确的,因为当我转到启用 CAC 的站点时,IE 会弹出一个窗口,要求我选择一个证书,然后在该窗口中窗口我看到我的 CAC 卡中的证书。

我将 tomcat 配置为向用户请求证书,当我导航到我在 tomcat 上运行的站点时,我看到相同的 IE 提示要求我选择我的证书,但是当我查看我的站点时,证书列表是空的。在我的 server.xml 文件中,我配置了我的连接器,如下所示:

<Connector port="8443" 
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
keystoreFile="<myKeysotre>"
keystorePass="<myPassword>"
clientAuth="want"
sslProtocol="TLS" />

我认为我搞砸的地方是 key 存储文件的生成。现在我已经使用 java keytool 命令生成了它,如下所示:

keytool -genkey -alias -keypass myPassword -keystore myKeystore -storepass myPassword

我现在正在进行开发,我正在寻找一种方法将客户端证书从 CAC 卡获取到我的应用程序,但我遗漏了一些东西。我不太熟悉它的工作原理,因此我可以使用一些帮助/指导。

谢谢

最佳答案

经过一番扯扯,我发现了这里。 IE 要求我选择我的证书的提示为空的原因是因为客户端证书(CAC 卡上的证书)不是由我的 tomcat 服务器上受信任的根中的任何 CA 颁发的。

我需要做的是将根 CA 证书添加到我的 tomcat 信任库中。我花了一段时间才弄清楚如何获得证书。我所做的是去 http://dodpki.c3pki.chamb.disa.mil/rootca.html网站并下载根证书(以 .cac 文件形式出现),然后将这些文件导入 IE(工具->Inernet 选项->内容->证书)。然后,再次从 IE 证书工具)我将根证书导出为 X509 文件并创建了一个信任库来包含它们:

keytool -storepass somePassword -import -alias DoDClass3RootCA -keystore my.truststore -trustcacerts -file exports\DoDClass3RootCA.cer

创建该存储后,我更新 server.xml 文件中的连接器元素以包含该信任存储:

<Connector port="8443" 
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
truststoreFile="my.truststore"
truststorePass="somePassword"
… />

这样做并重新启动 tomcat 后,CAC 卡证书出现了

关于tomcat - 配置 Tomcat 以接受 DOD CAC 卡证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com