问题标签 [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.
asp.net - 为 CAC 卡配置“Cassini”(ASP.NET 开发服务器)以进行测试 - 如何?
我正在开发一个新网站(ASP.Net、VB 代码隐藏页面、.Net 3.5)来替换“经典 ASP”网站。
有些页面是“公开的”,其余的则需要身份验证——在这种情况下,它是通过键盘读取 DoD 颁发的 CAC 卡来完成的。
现在,对于“生产”,他们配置 IIS,以便它在访问某个目录(在本例中为 /secure)时执行身份验证质询(读取卡并请求 PIN),从而保护该树中的所有页面。
我快到了需要查看卡片上的一些信息的地步了——但是当我“F5”我正在开发的网站时,所有 Request.Clientcertificate 的东西都是空的——没有发生“挑战” Cassini ASP.Net 开发服务器。
我看到了对“配置 IIS 以将 SSL 放在目标目录中”的引用——但我没有在这台开发 PC 上运行 IIS(其他开发人员也不会很快遇到这个问题)。当站点最终被复制到生产环境中时,网络支持人员将执行此操作,但我现在需要测试某些安全功能。
如何配置 VS2008 附带的服务器以读取 CAC 卡并“加载”我需要查询的服务器/会话变量?或者,我可以将任何东西放入 .aspx 或 .aspx.vb 页面本身来模拟或触发安全挑战吗?
提前致谢。
java - 使用 Java 的通用访问卡 (CAC) 身份验证
我基本上正在寻找某个地方开始学习如何使用 java 与政府 CAC 卡进行交互。
最终,我的目标是找出如何使用 CAC 卡身份验证(通过 PIN 号)来授权访问使用 Tomcat/J2EE 服务器托管的网站。
但我需要从某个地方开始。所以我想我会先编写一个小型java程序来简单地从插入我键盘上的读卡器的CAC卡中读取CAC卡信息(DELL键盘,数字键盘上方有CAC读卡器)。
通过谷歌搜索,我找到了被OpenSSO项目取代的cacard java 项目(https://cacard.dev.java.net/ ) 。但我似乎找不到如何使用它连接到卡、从卡中读取等的示例代码。
有谁知道我在哪里可以找到一些示例代码,以便我可以开始学习如何使用 java 与 CAC 卡进行交互?
谢谢
编辑:
在研究了更多之后,我在想,我可以只clientAuth="true"
在server.xml
文件中设置连接器元素吗?
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
clientAuth:如果您希望 Tomcat 要求所有 SSL 客户端提供客户端证书才能使用此套接字,请将此值设置为 true。
pki - 国防部通用访问卡 (CAC) 身份验证
我已经弄清楚了在 Apache 中获得基于 DOD CAC 卡的客户端证书身份验证的所有必要步骤,但现在我正在努力从我收到的证书中为用户提取一个好的 GUID。证书上是否有可用的 GUID 在 CAC 卡更新时不会更改?我正在考虑使用看起来像这样的 SSL_CLIENT_S_DN:
/C=US/O=美国政府/OU=DoD/OU=PKI/OU=CONTRACTOR/CN=LAST_NAME.FIRST_NAME.MIDDLE_NAME.0123456789
但是我听说更新CAC卡时末尾的数字会改变。这是真的?是否有更好的信息可用于 GUID?我还想获取用户的电子邮件地址,但在我从证书收到的信息中看不到它。电子邮件地址是否在我没有看到的某些自定义扩展中可用?
谢谢!
java - 如何使用通用访问卡连接到 HTTPS 服务器
我需要编写一个 java 程序来连接到 HTTPS 服务器(DoD 网站)。该网站需要 CAC(DoD 通用访问卡)身份验证。如果您通过浏览器访问此站点,请先插入您的 CAC,然后输入 PIN。
我需要在 java 中以编程方式完成身份验证过程(有点像浏览器)。如何从 CAC 检索信息?我一直在谷歌搜索并阅读 Java PKCS#11 参考指南。似乎 Sun PKCS#11 Provider 可以做到,但您需要本机 PKCS#11 令牌实现。
我对吗?以前有人做过吗?任何建议或意见将不胜感激。
apache - 通过 DOD PKI CAC 进行 Apache 身份验证
如何使用国防部 CAC 卡实现 Apache(在 Linux 中)身份验证?我听说可以做到,但没有遇到任何细节。目前我们使用 Windows Active Directory 进行 Apache 身份验证,但仅使用登录名/密码。很快要求将仅使用 CAC 卡。任何提示将不胜感激。
ssl - CAC 卡登录不验证必须使用 Windows 用户和密码的随机用户
随机个人尝试使用安全证书访问 Intranet 站点时遇到问题。大多数用户可以简单地选择他们的智能卡/CAC 证书,输入密码,然后就可以访问该站点的页面。
然而,随机个人输入他们的密码,然后立即被 IE 警报对话框重新提示输入他们的域用户名和密码。如果他们不输入他们的网络域用户名和 MS 密码,那么他们会收到 401.1 Unauthorized。
我很困惑为什么会提示这些特定用户(他们选择与成功的证书相同的证书)输入他们的域名/密码。此外,他们能够访问需要 CAC 才能通过安全证书的其他站点。
可能无法通过特定站点的 CAC 卡建立用户令牌,但不确定原因。由于这些用户获得的是 401.1,因此与他们的 CAC 凭证相关联的身份无法验证。
在 IIS 中:不允许匿名用户(未选中)。SSL 需要 128 位加密。已选中集成 Windows 身份验证。接受客户端证书 在站点的 web.config 文件中,所有用户都被允许,只有匿名用户被拒绝。
开发盒上存在完全相同的设置,根本没有任何问题,这表明问题出在生产服务器正确接收/处理来自这些人的 CAC 信息的能力上,或者安全性方面正在发生一些奇怪的事情证书与客户的 CAC x.509 证书有关。
更多可能有用的信息:最初要求 CAC 的浏览器提示与站点代码无关,而是通过将安全证书应用于 IIS 中的站点来启用;因此向我表明,证书中写入了一些内容,通过浏览器查找与 ActivClient 代理绑定的客户端证书???
再说一次,我可能不知道我在说什么,只是在这里扔一根骨头,看看是否有人有同样的问题或有任何想法。
提前感谢您的任何意见、问题或想法。
security - CAC Smartcard Reauthenticate
We have one browser-based application where we want to make the user reauthenticate when they enter it. So when they access that URL we want them to be presented with the PIN prompt so they have to reauthenticate. Is there a reasonable way to do that?
Added info: This is for a CAC card and the workstations have ActivIdentity and Tumbleweed on them. Also, I could add a service to the workstations if necessary. The browsers are all IE7. The web server is IIS 6 and the pages are written in ASP.NET (mostly).
security - IE7 智能卡 PIN 提示
我可以根据需要打开任意数量的 IE7 实例,并且每次都会提示我输入证书(但没有 PIN)。但是,如果我关闭任何 IE7 实例,那么在下一次打开时我会收到 PIN 提示。所以在我看来,IE7 程序在关闭时正在做一些事情,告诉智能卡“过期”当前的 PIN。我想知道 IE7 正在做什么来导致这种情况发生(当它关闭时),因为我希望我的程序也能够做到这一点。关于如何找到它的任何想法?
谢谢!
security - 从通用访问卡 (CAC) 发送完整的链?
我正在尝试使用用户 CAC 卡上的证书从 Web 服务客户端 (Axis2) 启用 SSL 通信。像魅力一样工作......直到网络服务器启用 CAC。此时,SSL 连接被拒绝,并显示未包含链中其他证书的错误消息。
通过将它添加到 security.properties 文件或以编程方式创建它,我已确保提供程序可用。
我目前的方法是简单地设置系统属性: System.setProperty("javax.net.ssl.keyStore", "NONE"); System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
我从这个问题/答案中了解到,这种方法只发送“最终实体”证书。显然我需要实现我自己的 X509KeyManager。这对我来说是新的领域,任何人都可以提出一个好的参考或提供如何做到这一点的样本吗?
感谢您的帮助。
python - Python 中的 CAC 客户端应用程序身份验证
我正在构建一个 python 应用程序来从网站中提取数据。应用程序必须使用 CAC 卡和 pin 进行身份验证(HTTPS/SSL)才能发出请求。
我的假设是否正确,即您无法从 CAC 卡中检索私钥,因此无法使用 PKCS #11 Wrapper(如PyKCS)?
有什么提示或资源可以解决这个问题吗?