问题标签 [client-certificates]

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.

0 投票
3 回答
551 浏览

php - 如何使用客户端 ssl 证书从 PHP 脚本请求重新登录?

我在客户端机器上有几个客户端证书,一旦我使用其中一个登录到站点,服务器就会记住我。如何强制服务器停止记住我并再次请求证书(我想使用另一个证书进行身份验证)。

谢谢。

0 投票
1 回答
3924 浏览

asp.net - 通过 HTTP 的客户端证书身份验证(无 HTTPS)

客户端证书是否可以在没有 HTTPS 的情况下用于身份验证,仅在具有 ASP.NET 的 Windows IIS 平台上通过 HTTP 进行?

我需要使用数字证书对客户端进行身份验证,但我不能使用 HTTPS。

0 投票
1 回答
3211 浏览

iphone - 无法在 iPhone 中使用客户端证书进行身份验证

团队,

我有配置了 2 路 SSL 的基于 .net 的 REST 服务。在我的 iphone 端,我已经在设备配置文件中安装了服务器证书,并且客户端证书被捆绑为应用程序资源。服务器证书验证工作正常,但客户端证书验证失败。下面是我的代码片段

我的连接失败并出现以下错误。

请帮我解决这个问题。

0 投票
1 回答
641 浏览

blackberry - BlackBerry 上的默认客户端证书

我正在尝试使用 https 连接到服务器,当我这样做时,它说连接需要客户端证书。如果我按是继续,我会得到一个 TLSAlertException。
连接代码如下所示:

我查看了模拟器(以及设备)上的证书,默认情况下没有任何客户端(个人)证书。我试过通过代码生成一个,但我不知道如何让它显示在手机上的个人证书下。

我发现了这一点,但没有一个选项非常适合在设备上获得个人证书。

那么,是否有可能在模拟器上获得个人证书,最好是通过代码?
如果我能得到一个,SecureConnection 会在连接到服务器时自动使用它吗?
如果没有,那里有可以使这项工作的图书馆吗?

0 投票
3 回答
11039 浏览

java - JAVA - SSL - 客户端证书

我一直在使用 JAVA 开发 WS 客户端,但我遇到了 SSL 身份验证问题。WS 是在 WCF 上创建的,我无法访问服务器,它们通过 HTTPS 工作并使用需要首先安装在客户端上的客户端证书。服务器人员向我发送了我成功安装在操作系统上的 PFX 证书(我正在使用 OS X),然后我可以通过浏览器访问 WS(Safari 或 FF 都是我尝试过的,以前无法访问 WS )。我认为操作系统中的任何应用程序都会使用此证书,但是当我尝试我的 JAVA 应用程序时它不起作用;起初抛出以下错误:

“javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”

我通过将证书导出到 CER 文件并使用 keytool 命令行工具将证书添加到“cacerts”keyStore JAVA 使用来解决这个问题。但在此错误消失后,以下开始出现:“403,禁止”。这显然是因为它没有使用该站点的 SSL 客户端证书,但我无法找到将其发送给它的方法。任何帮助,将不胜感激。

以下是我用来发布到 WS 的代码:

0 投票
1 回答
10856 浏览

ruby - Ruby 1.8.7 和 Net::HTTP:使用客户端证书发出 SSL GET 请求?

我正在尝试使用Net::HTTP. 这是相关的代码片段:

或使用备用的最后一行:

我已经验证了各个位(证书、密钥、CA 证书)是正确的。

问题是cx.request(req)抛出异常:

服务器上的 Apache SSL 错误日志包含以下内容:

证书、密钥和 CA 证书文件通过其他工具与此 SSL 主机配合使用;我只是无法以编程方式使用Net::HTTP[S].

感谢任何可以识别我做错了什么的人!

0 投票
1 回答
8925 浏览

python - 在 PyOpenSSL 中验证客户端证书

我正在编写一个需要在客户端浏览器中安装证书的应用程序。我在“上下文”对象的 PyOpenSSL 文档中找到了这一点,但我看不到任何关于回调应该如何验证证书的信息,只是它应该以某种方式验证。

我告诉 Context 对象我的(自签名)密钥在哪里(见下文),所以我想我不明白为什么这还不足以让库检查客户端提供的证书是否有效。在这个回调函数中应该做什么?

警告:在这里编码是为了好玩,绝对不是专业人士,所以如果我的 Q 揭示了我对 SSL 的完全跛足、幼稚和/或根本缺乏理解,请不要太粗鲁!

谢谢 :)

罗杰

0 投票
1 回答
3371 浏览

c# - 如何在 HTTPWebRequest 中检测客户端证书身份验证请求?

我正在使用HTTPWebRequest访问需要客户端证书的页面!

我正在使用以下代码,一切正常!

现在这是我的问题,因为我的调用SelectClientCertificate()显示了一个让用户选择证书的对话框,如果服务器不要求客户端身份验证,我不想显示对话框!实际上,我正在寻找 Internet Explorer 的行为主义。如果访问服务器需要用户客户端身份验证的页面,您会看到证书选择对话框,否则不会显示!

我看了看,AuthenticationManager但我不确定我是否真的需要注册自己的 AuthenticationModule!所以对我有什么暗示吗?

我还检查了StatusCode403 或 403.7 但我现在正在使用的服务器,如果缺少证书,也会返回 200,内容说我没有被授权!

0 投票
1 回答
2219 浏览

android - 带有客户端证书的 Android 2.2 SSL 错误?

我的问题:

有没有人在具有多个证书链的 Android 2.1/2.2 中成功验证了与客户端证书的 SSL 连接?

细节:

我正在尝试为 Android 平台实现客户端证书身份验证。StackOverflow 中已经有很多关于如何使用 KeyStore 的讨论,我遵循标准方法,将它们提供给 SSLContext。

context.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers() ,null);

我的客户证书附有 3 个证书,形成一个证书链。在 Android 2.3+ 中,SSL 握手已成功执行,我可以继续请求。

然而,在 Android 2.2 中,同样的方法会抛出“错误的证书错误”

如果我在 CAfile 参数中发出带有不完整证书链的 OpenSSL 命令,则会出现相同的错误:

这让我相信 Android 2.1/2.2 不会检查整个链条。getCertificateChain()为了确保我通过使用方法检查了 KeyStore 中的链数。

我正在寻找与我的问题相关的 Android 错误,但没有找到任何错误。类似的问题已在 SO 中发布,但没有答案

0 投票
3 回答
14095 浏览

caching - 从 JavaScript 清除 SSL 客户端证书状态

我在 SSL 会话中使用客户端证书对用户进行身份验证,但是缓存会话有点问题。(我已将 IIS 配置为接受(不需要)客户端证书。)

正常情况:
用户访问请求证书的页面。浏览器启动证书选择器,用户选择所需的证书(并在需要时输入 PIN),然后一切都按预期进行。

事情没有按预期工作的情况:
用户访问请求证书的页面。浏览器启动证书选择器,用户选择所需的证书,但随后在 PIN 对话框中取消。由于未发送证书,用户被重定向到上一页。用户尝试再次登录,但尝试自动失败,因为最后一个 SSL 会话已被缓存。

我使用 IE 在 IE 中解决了这个问题document.execCommand("ClearAuthenticationCache");,但它仍然无法在 FF 或 Chrome 中工作,因为它们不支持该方法。有没有办法解决这个问题?