1

我正在开发一个 CAC 身份验证应用程序。

我正在运行 RHEL 5.5 并在我的机器上连接了一个读卡器。当我插入智能卡/CAC 时,在时钟所在窗口的右上角会弹出一个通知,并且可以通过单击图标访问“智能卡管理器”GUI(带有锁定的卡)出现。显示智能卡管理器后,我可以查看卡上的证书列表以及详细信息等,而无需输入密码。

现在,另一方面,在我的 C++ 代码中,当我使用 nss 库获取插槽和列表证书时,我无法在不输入 pin 的情况下获取证书列表。

我想做的是从卡上获取证书列表,并在对话框中将该列表与 pin 文本字段一起呈现给用户,以便用户可以输入 pin,然后选择用于身份验证的证书 ALL IN ONE步骤而不是应用程序必须为 pin 显示单独的对话框,然后为证书选择显示弹出窗口,但似乎使用 nss 库是不可能的,但另一方面,智能卡管理器 gui 可以轻松地做到这一点。谁能指出我是否可以使用单独的 api 从 CAC 获取证书列表的正确方向???谢谢!

4

1 回答 1

2
  • 在网络上搜索“友好证书”或“公共可读证书”功能/机制(加载模块时为 0x1<<28) - 默认情况下,NSS 假定需要 PIN 才能从令牌中读取任何内容。恕我直言,这完全是愚蠢的,并将其保留为默认值...
  • 请务必考虑密码键盘阅读器(PKCS#11 中受保护的身份验证路径),因为您希望为拥有该功能的用户提供更好的安全性。当连接了密码键盘阅读器时,不应显示 PIN 输入文本框。
于 2010-07-08T20:45:47.460 回答