问题标签 [mtls]

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 投票
1 回答
304 浏览

ssl - CURL 显示“未发送所需的 SSL 证书”前夕

我正在使用来自 WINDOWS 的 CURL 命令。我已经发布了下面的命令。我还发布了命令的结果。在我看来,服务器在发送证书之前终止了连接。但我可能错了。任何想法为什么没有发送证书?

0 投票
1 回答
132 浏览

rest - 在 MTLS 保护所有其他 HTTP 请求的同时,我可以有不安全的 GET HTTP 请求吗?

我有一个用 golang 编写的 HTTP REST 服务,展示了我正在尝试的内容。

我希望 GET 请求不安全,并且所有其他 REST 请求都使用 MTLS 保护。我的实现已经使用了gin web 服务器库,所以如果可能的话,我想坚持使用它。

我的问题是我只能将 tlsConfig 应用于两个组,或者都不能。我一直无法找到在组级别应用此方法的方法。

0 投票
2 回答
137 浏览

email - 邮件服务器连接是否使用双向 TLS (mTLS)?

我想知道电子​​邮件是如何保护的(加密和签名),然后用谷歌搜索并获得了以下知识。

  • 通常,不执行端到端加密。如果要加密,则需要其他协议,例如 S/MIME。
  • 邮件服务器连接大多使用 StartTLS 加密。

不过,我无法确定邮件服务器之间的连接是否使用双向 TLS。换句话说,当发件人的邮件服务器(例如,Google 拥有)向收件人的邮件服务器(例如,Microsoft 拥有)发送电子邮件时,后者会检查前者的证书并验证发件人实际上是他所说的那个人?

0 投票
1 回答
78 浏览

ssl - 在 mTLS 中,客户端 CN 名称真的很重要吗?

对于普通的 TLS,客户端将检查我正在与之通信的服务器实际上是否在与 CN 匹配的 FQDN 上,因此如果证书用于不同的域,则默认情况下 TLS 不应工作,因为证书不适用于此站点。

对于mTLS,当服务器检查客户端证书时,它可以以某种方式检查客户端地址是否与CN匹配,还是只是检查证书与密钥匹配并且证书在客户端是受信任的?即,如果我从互联网上的任何机器使用正确的客户端密钥/证书,如果服务器配置为信任该证书,服务器是否应该连接,或者它是否需要客户端以某种方式位于特定地址?

0 投票
1 回答
34 浏览

node.js - 在 NodeJS 中使用证书和 RSA 密钥获取令牌时出错

我正在尝试使用密钥、证书和客户端 ID 在 NodeJS 中获取 oauth 令牌。

相同的代码:

但出现以下错误:错误:写入 EPROTO 140062523283264:错误:14094410:SSL 例程:ssl3_read_bytes:sslv3 警报握手失败:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1544:SSL 警报号 40 2021 -10-13T23:46:56.23+0530 [APP/PROC/WEB/0] 在 WriteWrap.afterWrite [as oncomplete] (net.js:789:14) 输出错误:'EPROTO',代码:'EPROTO',系统调用: '写'

证书和密钥是从云环境本身生成和获取的。这是基于 x509 MTLS 的身份验证。

0 投票
0 回答
84 浏览

java - 在双向 TLS 上使用免费代理服务器(SOCKS5):sun.security.validator.ValidatorException:未找到受信任的证书

我有使用相互 tls 的客户端和服务器(带有反向代理)。我想添加在客户端设置代理服务器的选项。

使用 java.net.proxy 类,

我使用了在 google 中找到的免费 SOCKS5 代理服务器。它回应:

sun.security.validator.ValidatorException:找不到受信任的证书

在相互 tls 上使用代理服务器是否有意义?

如果是这样,我应该在 Java 中遵循什么方法?

0 投票
1 回答
353 浏览

javascript - mTLS 验证和 ngrok

我正在开发一种付款方式与 Shopify 的集成,它要求我使用 mTLS 验证他们(作为客户端)的请求。

支付应用程序必须实施 mTLS 以处理它们充当服务器和 Shopify 作为客户端的所有请求。当 Shopify 启动与支付应用程序的会话时就是这种情况。在这些情况下,Shopify 使用自己的客户端证书。支付应用程序必须使用下面提供的自签名 CA 来验证该证书。在这些场景中使用 mTLS 允许支付应用程序验证发起请求的客户端是 Shopify,并且 Shopify 和支付应用程序之间的流量是可信且安全的。

我在与 Shopify 的许多其他集成中使用了 ngrok 隧道,但由于它们不是支付应用程序,Shopify 不需要 mTLS,所以我使用隧道没有问题。

现在我在服务器中进行客户端证书验证:

'ca' 指向 Shopify 在文档中给我的证书:

当我尝试访问我的 ngrok 网址时,我收到以下消息:

ngrok 网关错误

服务器返回无效或不完整的 HTTP 响应。

ERR_NGROK_3004

查看 ngrok文档,我发现可以使用 TLS 隧道。

第一个问题是:如果我使用 TLS 隧道,我不会再收到那个错误了吗?

另一方面,Shopify 还要求:

支付应用程序还需要提供 Shopify 将验证的证书。对于此证书,您需要使用受信任的 CA 签名 SSL 证书,而不是 Shopify 的自签名 CA。

第二个问题是:当我将应用程序放在具有 HTTPS 认证 URL 的服务器中时,我知道我会满足这个要求。但我想知道当我在本地开发应用程序时,是否可以使用生成的证书,例如使用openSSL

我寻求您的帮助并且不尝试使用 mTLS 隧道的原因是您需要一个 ngrok 付费帐户才能访问我没有的那种类型的隧道。

非常感谢。


我使用 Node + Express 作为服务器。

Shopify 文档:https ://shopify.dev/apps/payments/general-transaction-requirements

0 投票
2 回答
141 浏览

openssl - 无法连接:加载 X.509 密钥对时出错

在此处输入图像描述我写了一个 mTLS 证书的 golang 程序

我在 /etc/falco/certs 位置使用 openssl 生成了证书。在运行程序时,我收到此错误。

如何解决这个问题?

0 投票
0 回答
20 浏览

spring-boot - 如何在 SpringBoot Flux 中将客户端证书转发到下游服务

我们为 Mutual Auth 配置了 2 个服务。可以使用 WebClient 调用其他服务。只有公共证书可用于这两种服务。所以问题 - 是否可以在第一个(上游)服务中提取客户端证书并将其在 WebClient 请求中发送到下游服务?

0 投票
1 回答
70 浏览

amazon-web-services - AWS API 网关 MTLS

我在使用相互 TLS 身份验证的 AWS 上实施 API 网关时遇到问题,

我有一个连接到 API 网关的自定义域,该实例配置了负载均衡器 nginx,

自定义域例如:app.sandbox.domain.com

自定义域上的双向 TLS 功能

但是当我通过环境 url 环境 url ex: http://app-sandbox.us-east-1.elasticbeanstalk.com/

相互 TLS 身份验证不适用。