首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置Tomcat以接受DOD CAC卡证书

配置Tomcat以接受DOD CAC卡证书
EN

Stack Overflow用户
提问于 2010-10-14 08:35:21
回答 1查看 9.4K关注 0票数 11

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

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

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

代码语言:javascript
复制
<Connector port="8443" 
           protocol="HTTP/1.1" 
           SSLEnabled="true"
           maxThreads="150" 
           scheme="https" 
           secure="true"
           keystoreFile="<myKeysotre>"
           keystorePass="<myPassword>"
           clientAuth="want" 
           sslProtocol="TLS" />

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

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

我现在正在做开发,我正在寻找一种从CAC卡到我的应用程序中获得客户端证书的方法,但我遗漏了一些东西。我不太熟悉它是如何工作的,所以我需要一些帮助/指导。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2010-10-15 00:26:22

我在这里发现了一些事情。IE提示我选择证书为空的原因是,客户端证书(CAC卡上的证书)不是由tomcat服务器上受信任根目录中的任何CA颁发的。

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

代码语言:javascript
复制
keytool -storepass somePassword -import -alias DoDClass3RootCA -keystore my.truststore -trustcacerts -file exports\DoDClass3RootCA.cer

一旦创建了该存储,我就更新了server.xml文件中的Connector元素,以包含该信任存储:

代码语言:javascript
复制
<Connector port="8443" 
           protocol="HTTP/1.1" 
           SSLEnabled="true"
           maxThreads="150" 
           scheme="https" 
           secure="true"
           truststoreFile="my.truststore"
           truststorePass="somePassword"
           … />

这样做并重新启动tomcat之后,CAC卡证书就会出现在我面前

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3929158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档