问题标签 [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 投票
2 回答
16712 浏览

ios - 如何为 iOS 实现客户端证书和服务器身份验证

我最近经历了一个极其艰巨的过程来构建一些应该非常简单但似乎在任何地方基本上都找不到的东西。我想尝试将所有内容都放在此处,以询问我是否做错了什么,如果没有,则可以帮助需要此信息的任何人。

背景:我试图为其提供安全性的产品/服务是围绕 Windows 服务器上的 WCF 服务构建的,这些服务只能通过 PC 或 iPad 上的自定义客户端应用程序访问。每个客户一台服务器,无浏览器访问。一切都已经通过使用 Windows 标准机制和来自商业 CA 的证书的身份验证和授权进行了 TLS 保护。

为了进一步限制访问,使用自签名证书为 Windows 平台实施了客户端/服务器证书(在没有公共/浏览器访问的相互身份验证的情况下不需要商业 CA——尽管有相反的说法——而且它们更难管理)。

让所有这些都为 iPad 工作是一场可怕的噩梦,其中包含大量虚假信息或部分正确的建议。在接下来的内容中,我试图链接到最好的来源,但如果我无意中错过了归因,我深表歉意。如果这篇文章有任何错误/误导,请发表评论。

谢谢

0 投票
1 回答
2055 浏览

ssl - 通过 SFTP 进行相互 SSL 身份验证?

我有一个使用 SFTP 设置“相互 SSL 身份验证”的请求。他们希望 ProFTPd SFTP 服务器通过证书对客户端进行身份验证。这甚至可以使用 SFTP 吗?我假设因为 SFTP 是基于密钥的 SSH 而不是基于证书的,所以它不容易做到。我怀疑他们真正想要的是 FTPS,但他们坚持使用 SFTP。有人在做这样的事情吗?谢谢!

0 投票
1 回答
1289 浏览

c# - X509Certificate2 来自带有私钥的商店

我有一个X509Certificate2不能从 Windows 商店导出的私钥,其中包含以下代码:

当我将证书与 Web 服务一起使用时,Windows 会询问私钥。问题:如何将私钥发送到证书?

问候。


编辑:这是将连接作为 Web 服务的功能:

0 投票
0 回答
2404 浏览

java - java中的安全websocket(wss)客户端

我正在尝试连接到安全的 websocket 服务器,我正在使用

作为一个库,我们有服务器和客户端的相互身份验证我有密钥库,这里有什么问题或安全 websocket 客户端的任何其他实现。这是我的代码,

0 投票
3 回答
6450 浏览

openssl - 客户端向您提供其公共证书时的相互身份验证

通常 2 路 ssl aka 相互身份验证包括生成服务器 ca 密钥和证书等。然后客户端生成一个 csr,将其提供给您,然后您签署他们的 csr 并为他们提供客户端证书。

然而,

我遇到过客户要求我通过相互交换 x509 公共证书来实现“相互身份验证”的情况。这是听说过的吗?也许称为“2 路 SSL”或“相互验证”以外的其他名称。

我正在努力使用 openssl 查找有关此的任何文档或信息。

0 投票
1 回答
508 浏览

authentication - LoopBack 中需要 2 路 SSL 身份验证/相互身份验证示例

我正在寻找在 LoopBack API 框架(由 StrongLoop API 平台提供)中实现 2 路 SSL 身份验证/相互身份验证示例的示例我需要通过相互身份验证连接 SOAP API。

我找到了这些示例 https://github.com/strongloop/loopback-example-sslhttps://github.com/strongloop/loopback-example-connector/tree/soap,但我想这还不够。

0 投票
1 回答
112 浏览

java - 使用证书的相互认证

我一直在使用 java 开发一个 web 应用程序,我想使用实现相互证书身份验证。

我使用了一个自签名证书,我把它放在我的浏览器(chrome)和我的glassfish 信任库(cacerts.jks)上,并配置我的 web.xml 和 sun-web.xml 并且工作正常。

当我运行应用程序时,它要求我选择一个证书,并在正确的身份验证后显示我请求的页面。

但是我需要制作不同的证书(实际上是三个)并根据我要授权用户的角色。

但是即使我创建了另外两个证书并添加到浏览器证书列表中,除了第一个证书之外,浏览器并没有在证书选择提示中列出它们。

0 投票
1 回答
4255 浏览

.net - WCF - 升级到 .Net 4.6.1 后,无法为具有权限的 SSL/TLS 建立安全通道

自从升级到 .Net 4.6.1 后,我无法再调用第三方 Web 服务,但收到错误消息“无法为具有权限的 SSL/TLS 建立安全通道......”。我可以通过多种方式解决此问题,但我认为这些方式不可接受。a) 将以下行添加到代码中:

这确保我不使用 Tls1.2 并且所有工作都像以前一样使用 .Net 4.5.2

b)将以下行添加到我的配置文件中

这确保我不使用 Tls1.2 并且所有工作都像以前一样使用 .Net 4.5.2

我宁愿能够使用 Tls1.2,也不愿为来自我的应用程序的所有调用关闭它,我的应用程序与许多第三方服务通信,我不想因为一个问题而限制所有通信。

使用 WireShark 诊断问题已经突出显示未发送客户端证书,这显然会导致此错误。

线鲨

ClientCertificate 在代码中设置

我已经阅读了很多关于 stackoverflow 的文章,最相似/有用的如下: 如何强制 WCF 客户端发送客户端证书?

我检查过:

  1. 可以访问客户端证书(私钥)
  2. 服务器证书是可信且有效的
  3. 客户端证书与服务器发送的规范之一匹配
  4. 将我的绑定转换为自定义绑定以指定 requireClientCertificate - 无效

谁能指出我可以检查的其他任何内容或帮助我理解为什么我的证书没有发送?

6 月 2 日更新 我可以使用我的客户端证书成功下载 wsdl,以在 Chrome 中进行身份验证,但不能在 Internet Explorer 或 Edge 中进行身份验证!

我相信 Chrome 不使用 SChannel(就像 Edge 和 IE 一样)用于 TLS,但它是自己的 SSL/TLS 实现。

虽然我不是 100% 确定我目前正在考虑问题是服务器正在为客户端证书指定与客户端签名算法不匹配的签名算法。我不太了解 TLS 1.2 的工作原理,但从阅读规范 tools.ietf.org/html/rfc5246#section-7.4.4 来看,这似乎是可能的。

请参阅wireshark 跟踪中的证书请求 - i.stack.imgur.com/BwmUM.png 和证书详细信息 - i.stack.imgur.com/pbKEF.png

那里有任何 tls1.2 专家吗?

0 投票
1 回答
375 浏览

java - Spring ws如何处理证书?

Spring Ws 是通过两种方式 SSL 连接自动处理证书还是我们必须手动处理证书(例如发送和验证证书)

0 投票
2 回答
1075 浏览

java - 如何使用openssl在tomcat 7上的客户端和服务器上配置两种方式的ssl以生成ssl证书?

我已经使用以下链接中给出的 pedrofb 提供的解决方案配置了密钥库和信任库 How to configure two way SSL connection in Spring WS without using Spring boot and using separate Apache tomcat server?

我已经在 tomcat 7 中为客户端和服务器设置了 keystore 和 trustore 属性。但是,当我尝试连接到服务器时,我收到以下错误

在客户端,我在浏览器中有以下错误

当服务器请求它时,客户端不发送它的证书。

我必须clientauth=true在客户端和服务器中保留吗?

谢谢