我正在尝试启用部署在JBoss 4.2.3上的web应用程序,以便在客户端计算机上使用DOD颁发的CAC、ActivClient和IE进行客户端证书身份验证。作为概念验证,我能够使用软证书(生成的自签名证书,转换为PKCS12格式,然后导入IE)为JMX控制台提供客户端证书身份验证。我还可以使用我的样例(演示) CAC向TriCare online进行身份验证,大概是向演示用户验证。
但是,我尝试从CAC导出证书,并将其导入到我的JKS信任库,使用CN条目作为别名(不确定这是否必要),但根本不起作用。我在JBoss日志中得到一个错误,显示“链中的证书为空”,并且客户端没有提示选择证书或输入个人识别码。我最好的理论是我在信任库中没有证书,所以它不知道从客户端请求什么证书,但我不知道如何确认这种怀疑,或者哪里可能是错的。
将JBoss与Apache结合使用会让这个过程变得更容易吗?(这是一个内部应用程序,所以我们只是让JBoss作为web服务器。)
升级到一个不太古老的JBoss版本会有帮助吗?
有没有我可以启用的调试语句,可以让我更清楚地了解发生了什么?
在某个地方有逐步文档吗?我如何获得这方面的专业知识?我一直在拼凑我的解决方案,基于JBoss 4在线文档,"JBoss在行动“,”核心安全模式“和一些关于这个问题的问答。
任何帮助都将不胜感激!
发布于 2011-06-01 22:33:14
最好的办法是下载DoD PKI的整个CA证书链。这将包括根CA证书以及所有从属CA证书。您应该将所有这些证书放在JBoss信任存储区中,从根CA证书开始。在此基础上,如果有必要,我将查看JBoss文档,了解有关为JBoss配置相互身份验证的SSL的更多信息。如果一切都是从信任库的角度进行设置的,那么对于最基本的情况,这应该就是您所需要的全部。当您通过web浏览器连接时,应该会提示您选择用于身份验证的证书。
如果这不起作用,请发布堆栈跟踪或您得到的错误。我来帮你看看。
https://stackoverflow.com/questions/6065064
复制相似问题