问题标签 [cac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Java PKCS#11 读取 DoD 通用访问卡
我研究了如何使用 Sun PKCS#11 api 访问 DoD CAC 并可能使用 CAC 访问(只读)Active Directory。我的问题是,我发现在大多数情况下会引用一些代码,但从不显示引用的代码。我找到了以下代码,但给出了错误。有谁知道将 PKCS11 用于 CAC 的任何代码示例或清晰的文档?或者可能有效的 API 解决方案?
smartcard - 在哪里可以找到 DoD CAC 的 APDU 命令列表
我正在寻找用于 DoD CAC 的 APDU 命令。我试图从卡片中提取尽可能多的信息。到目前为止,谷歌还没有提供任何帮助。
c# - SCardTransmit() 返回空的响应缓冲区
使用此处描述的框架,我正在尝试从智能卡中读取数据。我已经建立了一个 apdu 命令。命令结构似乎是正确的,因为它适用于 java。当我调用 SCardTransmit() 函数时,该命令被执行,但它返回一个长度为 Le+2 字节的空响应缓冲区。保存SW1和SW2的前两个字节是6118。我相信这意味着有更多的字节要读入缓冲区。但是,当我更改缓冲区大小时,响应缓冲区大小已更改,但我仍然收到错误代码 6118。这是一个选择命令,后跟一个返回状态 6100 的获取数据命令,我认为这意味着有超过 0xFF 字节待读。那么如何让响应缓冲区被填充呢?
c# - 智能卡非对称密钥生成
我在研究如何从 PIV 卡生成非对称密钥时陷入了死胡同。我查看了 NIST sp800-73-3 标准,但我无法做到这一点。该文档的第 3 部分概述了它显示他们使用 INS 47 来执行此操作,但我收到 6D00 错误。在获得此命令之前是否需要发送另一个命令?
另外,如果我错了,请纠正我,但根据我的理解,当生成密钥时,私钥会存储在卡上,而公钥会被返回。为了使用私钥加密数据,必须将数据发送到卡并返回加密信息。这是准确的吗?一张卡一次可以存放多少把钥匙?
.net - DoD CAC 身份验证 - .NET C#、Windows Server 2008 R2、IIS 7.5 的客户端证书问题
我们为 DoD 开发了一个 .NET C# Web 应用程序,它使用 CAC(通用访问卡)作为唯一的身份验证方法。我们在服务器上有一个受信任的 SSL,该应用程序在多个位置运行,并且一切都按预期运行 - 在大多数情况下。
问题 #1
主要问题是,在我们的一些内部开发服务器上,当您在读卡器中使用有效的 CAC 点击“登录”时,只会显示一个证书,而不是来自 CAC。它用于通过网络对我的工作笔记本电脑进行身份验证(“客户端身份验证”和“智能卡登录”属性在“证书”管理单元中进行检查)。
我们在另一个网络上有另一台服务器,客户端证书身份验证运行良好 - 它显示来自 CAC 的证书,但不显示上述证书。我尝试在这两个服务器上并排比较我在 Windows Server 2008 R2 中能想到的所有内容,看看我是否能找到可能不同的东西,但它们似乎都是 Windows Server 2008 的默认安装R2。
以下代码用于读取客户端证书:
此文件位于选中 IIS > SSL 设置 >“需要 SSL”和“需要客户端证书”的目录中。
我不知道这是服务器配置问题还是编码问题,但我已经为此工作了几个月,无法找到为什么应用程序只有在托管在某些服务器上时才能获得 CAC 证书的答案服务器。
问题 #2
如果我在正确读取 CAC 的服务器上访问应用程序,它会从用于访问该计算机上的应用程序的所有 CAC 中提取所有证书的副本,而不仅仅是来自读卡器中物理上的 CAC 的证书.
AKO [https://aklogin.us.army.mil/] 至少过滤掉电子邮件证书;但是,该站点并非托管在 Windows 机器上。
结论
在我看来,除了 Request.ClientCertificate 集合和 IIS 中的两个复选框之外,还必须有一种更好、更深入的机制来访问和过滤来自智能卡读卡器的客户端证书。
java - Liferay 6.1 的 Liferay 智能卡 CAC 身份验证
我们正在使用 Liferay 构建一个网站,我们需要实现 CAC 身份验证。我向 Liferay 客户支持提交了一张票,但他们不会提供前进的道路,因为他们不“正式”支持此功能。谁能告诉我这样做的最佳方法?
到目前为止我发现的最好的资源是一个博客,在下面的 url 上谈论构建一个自定义钩子。不幸的是,他们没有提供太多关于如何构建和实现它的信息。
感谢您的时间和您可以提供的任何帮助。
certificate - 仅从 DoD CAC 卡获取名称/UID
有人可以告诉我一种仅从 DoD CAC 卡中存储用户名的方法吗?我不需要进行任何身份验证,只需将卡中的名称存储为变量即可。我认为读卡的机器不会有任何网络连接。在这一点上,我与语言/操作系统无关。
谢谢你。
django - 如何让 NGINX / Django 检测 CAC / 智能卡何时被移除?
我有一个位于 Nginx 后面的 Django 应用程序,它要求用户通过政府 CAC(智能卡)进行身份验证。CAC ID 由 Nginx 读取并传递给 Django,后者将该 ID 映射到 Django 用户并登录该用户。那部分工作正常。
但是,如果用户从读卡器中删除他/她的 CAC,应用程序仍然会愉快地移动,允许用户继续从该域加载页面。
如何强制 Nginx 在每个页面加载时验证 CAC 证书,以便在删除 CAC 后,Django 可以注销用户并强制他们重新验证?
Nginx 配置:
rest - RESTful CAC 身份验证
好的,我能够弄清楚如何启用 RESTful CAS 身份验证
现在,我希望能够通过 CAS 启用 RESTful CAC 登录。通过遵循本指南,我能够让 CAC 与 CAS 一起工作。
以前有人试过吗?
java - 国防部 CAC ADPU 命令
我正在尝试为我正在编写的 Java 应用程序允许 DoD CAC 注册/身份验证。我正在使用javax.smartcario
包裹来读取卡片。我可以成功连接并读取 GUID。我要查找的信息是卡上的用户名 ( LAST.FIRST.M.123456789
)。我正在使用以下 AID,它使我可以访问 GUID 和证书:
存储用户名的卡上是否有不同的应用程序?用户名是否以某种方式嵌入在证书中?谢谢!
[编辑]
我正在尝试根据 APDU 命令响应生成证书,但引发了异常。
引发以下异常:
字节数组不为空。谢谢!