问题标签 [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.
iis-7.5 - 使用更新的中间证书的新用户使用智能卡登录时出现错误 401.2
概括
HTTP 错误 401.2 - 未经授权 由于身份验证标头无效,您无权查看此页面。
由于 401.2 和 401.1 错误,我的网站的一些新用户无法登录。其他新用户连接没有任何问题。用户拥有 DoD CAC 智能卡,并且可以有效地登录到他们的工作站。所有证书都指向同一个根权限,DOD Root 3,但具有不同的中间证书,即 DOD CA 38 到 DOD CA 51。中间证书编号为 48 或更高的用户会收到 401.2 错误,无法登录。
我认为问题是未正确安装或配置较新的中间证书。我使用他们的工具 InstallRoot.exe 从证书颁发机构安装了最新的证书。MMC 确认中间证书位于证书(本地计算机)-> 中间证书颁发机构-> 证书中。
服务器使用 Axway 工具来验证证书。在尝试的应用程序事件日志中,它显示“撤销状态:良好”,所以我假设我的 OCSP 及其缓存设置正确。
在每个 401.2 错误之后是一个 401.1 错误。401.1 错误的 sc-win32-status 为 -1073741715。这个数字重要吗?
详细配置说明:
我在 Windows Server 2008 R2 上使用 IIS 7.5。我将 Web 服务器和网站设置为需要智能卡才能打开网站。为此,我使用 manyToOneMappings 设置了 iisClientCertificateMappingAuthentication。我以同样的方式设置了三个新用户。三个新用户中有两个无法登录并获得 401.2 (sc-status=401 sc-substatus=2 sc-win32-status=5) 和“无法访问此页面”错误代码:INET_E_DOWNLOAD_FAILURE。
客户端浏览器中的错误
用户在他们自己的工作站和可以成功登录的人的工作站上得到这个。因此,它不可能是客户端浏览器问题。
无法访问此页面
• 确保网址https://MyWebSite正确
• 在 Bing 上搜索此站点
• 刷新页面更多信息 与网站的连接已重置。错误代码:INET_E_DOWNLOAD_FAILURE
IIS 日志条目
以下是成功用户 First IP 和失败用户 Second IP 的 IIS 日志条目。sc-win32-status=64 的 500 错误(“指定的网络名称不再可用”)对于成功和不成功的登录是相同的。
请求跟踪
402.2错误的部分跟踪列表:
-GENERAL_REQUEST_HEADERS 标头连接:Keep-Alive 接受:text/html,application/xhtml+xml,image/jxr,/ Accept-Encoding:gzip,deflate Accept-Language:en-US Host:X.com User-Agent:Mozilla/ 5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) 像 Gecko DNT: 1
-GENERAL_GET_URL_METADATA 物理路径访问权限
617-HANDLER_CHANGED OldHandlerName
NewHandlerName StaticFile NewHandlerModules StaticFileModule,DefaultDocumentModule,DirectoryListingModule NewHandlerScriptProcessor
NewHandlerType-AUTH_START AuthTypeSupported 2 AuthTypeSupported 基本
-AUTH_END
-AUTH_START AuthTypeSupported 128 AuthTypeSupported MapCliCert
-AUTH_END
-AUTH_START AuthTypeSupported 4 AuthTypeSupported NT
-AUTH_END
-AUTH_START AuthTypeSupported 128 AuthTypeSupported MapCliCert
-AUTH_REQUEST_AUTH_TYPE RequestAuthType 128 RequestAuthType CertMap
-AUTH_END
-AUTH_START AuthTypeSupported 16 AuthTypeSupported 摘要
-AUTH_END
-AUTH_START AuthTypeSupported 1 AuthTypeSupported 匿名
-AUTH_REQUEST_AUTH_TYPE RequestAuthType 1 RequestAuthType 匿名
-AUTH_SUCCEEDED AuthType 4 NTLMUsed false RemoteUserName
AuthUserName
TokenImpersonationLevel 2 AuthType NT TokenImpersonationLevel ImpersonationImpersonate-USER_SET AuthType
用户名
SupportsIsInRole true-AUTH_END
-GENERAL_SEND_CUSTOM_ERROR HttpStatus 401 HttpSubStatus 2 FileNameOrURL 401.htm
-GENERAL_FLUSH_RESPONSE_START
-GENERAL_RESPONSE_HEADERS 标头内容类型:text/html 服务器:Microsoft-IIS/7.5 WWW-Authenticate:协商 WWW-Authenticate:NTLM X-Powered-By:ASP.NET
配置
我确认服务器拥有所有最新证书,使用由制作我们根证书的实体分发的程序。我针对 CRL 和服务器的 OCSD 调用测试了客户端证书。
IIS 服务器配置
身份验证:仅启用 Active Directory 客户端证书身份验证 - 其他人禁用 授权规则:拒绝匿名用户 - 仅限条目
站点配置
身份验证:启用匿名身份验证并启用 Windows 身份验证 授权规则:允许 webUsers(本地服务器用户组)-仅条目 配置编辑器:system.webServer/security/authentication/iisClientCertificateMappingAuthentication defaultLogonDomain enabled True LogonMethod ClearText manyToOneCertificateMappingsEnabled True manyToOneMappinqs (Count=19 ) oneToOneCertificateMappingsEnabled False oneToOneMappings (Count=0)
用户
manyToOneMappinqs 中设置的每个用户都有一个对应的本地服务器用户帐户。本地用户帐户都在对网站具有权限的 webUsers 组中。每个用户都有两个映射规则:颁发者(“O”)是创建智能卡的实体,主题(“CN”)是每个用户唯一的。
用户列表分为两个文件:网站的 web.config 文件和服务器的 applicationhost.config 文件。组合用户构成站点配置编辑器中的列表。
ms-access - MS Access 使用哪种列数据类型来保存 Base64 图像?
我知道 Access 2010 有 MEMO 列类型,但是我使用的是 2013 版本,我只有Short Text
and Long Text
,其中仅在编辑时Short Text
支持,最多支持 256。我需要比 base64 字符串更大的东西。Length
Design View
c# - 从 Web 应用程序中的第二个智能卡读卡器读取数据
尽管我的问题是一年多前提出的,但从未得到答案,但我想我可能已经找到了解决方法。当 Web 应用程序正在运行并将第二个 CAC 插入 PC 上的附加读卡器时,ActivClient 会读取卡并将证书放入存储中。所以我访问了商店并通过人的名字找到了证书:
apache - 配置 Apache 以接受来自 DOD CAC 的特定证书
我已将 Apache 设置为需要 DOD CAC 才能访问该站点。在大多数 DOD CAC 上,实际上有 3 或 4 个不同的证书(ID、EMAIL、AUTH 等)。我注意到对于某些网站,您需要选择正确的证书,否则它不会授予访问权限。我还被告知,到 2020 年,所有站点都需要 AUTH 证书。我想弄清楚的是如何只允许特定的证书类型 - 目前,选择卡上具有正确 PIN 的任何证书都将授予访问权限。
smartcard - 什么是 DoD CAC ADPU 登录序列?
我一直在网上,有 CAC/ADPU 的 DOD 和 IDO 文档,但我无法找到/弄清楚访问卡上数据的顺序。我想获取公共信息用户名,例如 SMITH.JOE.123123123
厚java应用程序,使用smartcardio。
我发出 0x84 CHALLENGE 命令并用 9000 返回码取回挑战字节。我相信这些在 3DES 中,但是如果我没有密钥/密码,我将如何解码?
我现在对下一步该做什么感到困惑。我需要对 CHALLENGE 字节做什么?
我尝试了 EXTERNAL AUTH (0x82) 这成功了,但是返回代码 6300(这是警告 NV RAM 已更新) 请注意确定这是好是坏 - 也许它正在更新计数或日期或其他内容。
然后我尝试 SELECT (0xa4),但得到 6D00 - command not found
我也尝试过 GET DATA (0xCB) - 6D00
我猜最后两个失败了,因为我没有处于正确的安全状态来发布它们。
我需要执行的命令顺序是什么?
任何信息都非常感谢!
python - 使用 CAC(智能卡)和 python M2Crypto 进行客户端身份验证
我正在尝试使用 M2Crypto 和 urllib2 与受 CAC(智能卡)保护的网站进行通信。做一些研究,我的理解是我需要从卡中提供客户端证书和私钥,以及我在网上下载的 CA 证书。我不知道我是否错过了一步;无法获得经过正确身份验证的连接。
node.js - 如何在 Node/Express 中使用 CAC 对用户进行身份验证
我需要允许用户使用他们的国防部颁发的通用访问卡登录我的反应网站。我正在使用 express api 作为身份验证服务器。我已将服务器配置为需要客户端证书:
如何让我的反应应用程序从 CAC 请求/加载/读取证书?
c# - 在本地主机上重定向到内部页面会导致 Windows 安全提示并重定向到生产页面
我正在 Visual Studios 上开发一个 C#/asp.net 站点来替换传统的经典 ASP 站点。我们使用空军 CAC 卡,我已将 Visual Studio 配置为使用我的卡。我有一个基本的起始页,其中有两个重定向链接。它们重定向到 Visual Studio iis 服务器(本地主机)内的页面。当我开始(带或不带调试)时,它会提示我输入证书,我选择然后转到基本起始页面。如果我单击本地主机上的页面链接,Windows 安全会提示我选择证书再次,然后将我重定向到我们生产站点上的同一页面!
我对重定向进行了硬编码,只是为了确保我的服务器路径没有问题。它在物理上被编码为重定向到 localhost:port/_admin/Default.aspx。它不可能转到生产 URL !它与 Internet Explorer 和 Chrome 一起使用。我已经清除了浏览器上的缓存,但没有任何变化。
重定向是:Response.Redirect(" https://localhost:44365/_admin/Default.aspx ");
我对使用卡身份验证不是很敏锐,所以在我最初开始开发这个项目时,我依靠一个帖子对 Visual Studio 项目 applicationhost.xml 文件进行了以下配置更改:
原文:section name = "clientCertificateMappingAuthentication" overrideModeDefault = "Deny"
更改:部分名称 = “clientCertificateMappingAuthentication” overrideModeDefault = “Allow”
原文:section name = "iisClientCertificateMappingAuthentication" overrideModeDefault = "Deny"
更改:部分名称 = “iisClientCertificateMappingAuthentication” overrideModeDefault = “Allow”
原文:访问 sslFlags = "无"
更改:访问 sslFlags = "SslNegotiateCert"
我希望它可能只是配置错误。
这是几个月的间歇性问题(大约每 1/2 小时)。现在它是不变的,我不知道是什么改变使它保持不变。
任何帮助将不胜感激 !
git - 有没有办法在 macOS 上使用智能卡连接到 GIT HTTPS 站点?
我有一个仅支持智能卡的 bitbucket 站点。它是可操作的,并且使用 Safari 我可以使用智能卡和 PIN 登录。我不能对这个实例使用 SSH。
有谁知道在支持智能卡的终端命令中使用 Git 的客户端或方法?
由于未将有效证书传递给站点,任何 git clone 尝试 403 都会失败。