我们正在尝试使用我们的富客户端C
Windows应用程序来使用DoD CAC卡.
我们使用第三方库来保护我们使用SSL的客户端/服务器通信,它识别/处理通用智能卡,但前提是证书是由自己的捆绑应用程序创建的.
为什么?证书不是证书吗?它们如何变化?
具体来说,任何人都可以向我指出精简的技术文档,该文档解释了相关标准规定的内容以及实施定义的内容吗?我已经尝试过查看实际的规格,但它们太详细了,而且我发现了非常模糊的文章,这些都没有回答我的问题.我正在寻找介于两者之间的东西.
最佳答案 我没有足够的评论意见,但我想同意@Jay.您可能需要配置此第三方库以信任DoD根证书,以便当CAC用户提供其客户端证书时,您的应用程序可以信任它.
DoD根证书是公开的:
http://dodpki.c3pki.chamb.disa.mil/rootca.html
此外,如果您观察到的行为是客户端甚至没有被提示选择客户端证书,或者您没有观察到在数据包跟踪中发送的客户端证书,那么这也可能是因为您的服务器不信任国防部当行为良好的服务器请求客户端证书时,它还会通告其信任的CA的可分辨名称(dn).然后,行为良好的客户端将检查该列表,并将这些名称与它可用的cleint证书的颁发者进行比较.如果没有匹配,则客户端将发送“null”证书.我知道IIS / Apache和Firefox / IE / Chrome就是这样的.但是,Opera似乎并不基于广告发布者进行区分,并且会发送客户端所存在的任何证书.