我正在尝试启用部署在 JBoss 4.2.3 上的 Web 应用程序,以便在客户端计算机上使用 DOD 颁发的 CAC、ActivClient 和 IE 进行客户端证书身份验证。作为概念证明,我能够使用软证书(生成自签名证书,转换为 PKCS12 格式并导入 IE)为 JMX 控制台进行客户端证书身份验证。我还可以使用我的示例(演示)CAC 在线向 TriCare 进行身份验证,大概是演示用户。
但是,我尝试从 CAC 导出证书,并将其导入我的 JKS 信任库,使用 CN 条目作为别名(不确定是否有必要),但它根本不起作用。我在 JBoss 日志中收到一条错误消息,提示“链中的空证书”,并且客户端没有提示选择证书或输入 PIN。我最好的理论是我没有正确的信任库中的证书,所以它不知道从客户端请求什么证书,但我不知道如何确认这种怀疑,或者可能有什么问题。
将 JBoss 与 Apache 放在一起会使这个过程更容易吗?(这是一个内部应用程序,所以我们一直让 JBoss 成为 Web 服务器。)
升级到较旧的 JBoss 版本会有所帮助吗?
是否有我可以在某处启用的调试语句让我更清楚地了解正在发生的事情?
某处是否有分步文档?我如何获得这方面的专业知识?我一直在根据 JBoss 4 在线文档、“JBoss in Action”、“Core Security Patterns”和一些在 SO 中涉及到这个问题的 Q&A 来拼凑我的解决方案。
任何帮助将不胜感激!