问题标签 [mutual-authentication]

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 投票
4 回答
19858 浏览

python - 将客户端证书与 urllib2 一起使用

我需要在我的服务器和远程 Web 服务之间创建一个安全通道。我将使用带有客户端证书的 HTTPS。我还需要验证远程服务提供的证书。

  1. 如何将我自己的客户端证书与 urllib2 一起使用?

  2. 我需要在我的代码中做些什么来确保远程证书是正确的?

0 投票
4 回答
40833 浏览

java - 与 Web 服务的相互身份验证

目前,只要客户端使用 Web 浏览器访问网站,我就已经成功实现了相互身份验证安全性,因为浏览器会为您处理所有证书交换。现在我需要创建一个安全接口,用户可以使用该接口通过 HTTPS 访问 Web 服务,使用服务器所需的相互身份验证。

首先,是否有任何人知道的资源可以帮助我解决这个问题?我已经找了很长时间了,什么也没找到。任何人都可以给我关于如何解决这个问题的任何其他提示?

其次,我认为我最大的障碍是我对如何处理证书缺乏了解。如何协商接受服务器的密钥并将我自己的密钥提供给服务器?这是在 Java 中。

0 投票
1 回答
3801 浏览

ssl - 如何在 Openssl 中实现客户端的相互认证?

我需要为相互身份验证执行哪些函数调用?我搜索了很多,但没有找到任何有用的东西。

任何人都可以帮我这样做吗?

0 投票
2 回答
7679 浏览

python - 使用客户端证书的自定义 urllib 打开器

我有一个我必须使用的 API。API 由 HTTPS 保护并使用相互身份验证/客户端证书。我有一个 PEM 文件和一个 CRT 文件。

当我定期连接到服务器时,使用 PyOpenSSL 我没有问题,这里是代码:

但是,因为这是一个带有客户端证书的 HTTPS API,我已经为它实现了一个 opener,以某种方式修改的代码在这里:

但是当我运行第二个代码时,出现以下错误:

最后,我做错了吗?如果没有,请帮助我理解错误...

干杯。

0 投票
2 回答
1766 浏览

asp.net-mvc - 使用 Asp.net MVC 请求客户端证书

我正在尝试从客户端浏览器中检索客户端证书以对用户进行身份验证。我知道我可以创建一个与控制器同名的文件夹,并使用 IIS 将其 SSL 设置设置为需要客户端证书。事实上,我已经尝试过并且它有效,但我不能采用这种方法,因为控制器内部还有其他操作不需要向用户询问客户端证书。我还需要在不同的控制器中询问客户端证书。

那么,您知道提示用户选择客户端证书的干净(如果可能的话)方式吗?

0 投票
0 回答
388 浏览

android - 是否可以使用 SIM 卡在使用 Android 访问安全 Web 服务器时进行相互身份验证?

我的意图是使用 Android(浏览器)在 Web 服务器上进行相互身份验证。因为如果可以使用来自 SIM 卡的公共证书并且可以使用带有 PIN 的 SIM 卡的签名操作,那就太好了。

Android 不是优先事项,要考虑 Symbian 或其他假设,因为它们允许我要求的使用。

0 投票
1 回答
7358 浏览

ssl - JBoss 相互证书身份验证在 SSL 握手时失败

我遵循了这篇博文http://virgo47.wordpress.com/2010/08/23/tomcat-web-application-with-ssl-client-certificates/中的所有步骤,但我使用的是 JBoss7.0.2而不是 6.x 版本。

目标是要求任何客户端提供客户端证书并实现客户端和服务器之间的相互身份验证。

我创建了一个证书颁发机构 (CA) 来签署客户端和服务器证书。

我已将服务器证书导入到密钥库中,并在standalone.xml 配置文件中添加了一个 HTTPS 连接器,以在 8443 端口上处理 HTTPS 请求。

我已将 CA 根证书导入到客户端 Firefox 的 Authorities 下的证书管理器中。

一切正常,当我请求https://localhost:8443时,我得到一个带有有效服务器证书的页面。

问题是,当我将客户端证书导入 Firefox 的证书管理器并设置服务器配置以验证客户端证书(standalone.xml 中的 verify-client="true")时,出现浏览器错误:

而服务器上的 jboss 日志状态:

你知道如何解决这个问题吗?

我的设置:

本地主机服务器:

JBoss 7.0.2 Final Standalone.xml(相关部分):

爪哇版:

如果需要,我很乐意提供其他相关信息。

0 投票
0 回答
1005 浏览

java - 使用 PHP 的 Web 服务的相互身份验证(又名双向 SSL)

在使用相互身份验证时,我无法弄清楚如何使用 PHP 进行 SOAP 调用。

我已经安装了我的私有证书并在我的本地服务器上运行,最终客户端已经安装了公共部分,并且还给了我他们系统的公共证书。我知道如果我使用的是 Java,我会创建一个客户端密钥库(使用 keytool 实用程序)并使用 Java 访问它(使用如下命令:javax.net.ssl.trustStore、javax.net.ssl.trustStorePassword 等),但是PHP 怎么样?

我考虑过使用 PHP-Java 桥接器,但这本身似乎很冗长且可能很麻烦。

我有点困惑,因为这主要发生在传输层上,并且没有 [m] 任何示例。

0 投票
1 回答
3155 浏览

c - 使用 gSOAP 的相互 SSL 身份验证

我正在尝试连接需要相互 SSL 身份验证的 SOAP 服务。

我们创建了一个自签名证书并将其传输给服务运营商,以便他们验证我们的连接。同样,他们向我们发送了他们的 ssl 证书副本。

通过使用 openssl s_client 并手动输入 HTTP 请求、标头和 SOAP 内容,我已经能够成功连接到从服务获取预期的 SOAP 响应。我使用类似于以下的参数来使连接成功:

  • my_key.pem是我的私钥的文件名
  • my_cert.pem是转发给服务运营商的自签名证书的文件名。
  • my_passphrase包含私钥的密码。

我现在正在尝试使用 gSOAP 及其 C 绑定访问相同的服务。我按照http://www.cs.fsu.edu/~engelen/soapdoc2.html上的文档从服务 WSDL 创建绑定并添加调用以soap_ssl_client_context()设置 SSL 连接,但我遇到了问题.

我假设我应该使用my_key.pem的路径作为keyfile参数,但是使用 gdb,我可以看到它SSL_CTX_use_certificate_chain_file()是失败的调用。gSOAP 将keyfile参数作为file参数传递给此调用。

任何帮助深表感谢。

0 投票
2 回答
10470 浏览

ssl - 使用 PFX 文件的两种方式授权

我对双向身份验证有疑问。我使用 tomcat6 作为服务器,作为客户端我尝试 IE、Firefox 和我自己的 java 应用程序。

使用别人给我的 PFX 证书会出现问题。我必须将它们用作客户端证书,所以我只需将其添加到服务器上的受信任证书中,然后在浏览器中的用户证书中使用它。问题是我收到 bad_certificate 警报。

我通过为服务器和客户端生成我自己的证书并在两个密钥库等中添加受信任的公钥,成功地完成了双向 ssl...

当我查看wireshark日志时,我看到该服务器发送了良好的证书请求,但是当我使用自己生成的证书时,客户端发送了空证书(11字节长度的数据包)而不是500多个字节。

可能是什么问题?为什么客户不发送好的证书?:(