未知 IP 的 TLS 证书(可交付软件)

未知 IP 的 TLS 证书(可交付软件)

我正在编写一个分布式应用程序,它将出售给多个客户并在本地托管。此应用程序以分布式系统的形式运行,其中许多相同的应用程序通过 HTTPS 作为 RESTful 服务相互通信。

我知道我无法控制这些应用程序使用的 IP 地址或域名,但我仍然需要应用程序附带的默认 TLS 证书(可覆盖以满足安全合规性)。

我可以CN在 openssl 中为我的字段指定一个通配符名称,*但是当一个节点尝试访问另一个节点时,证书与其托管的 IP 地址不匹配。

Python 请求库给出错误:WARNING:urllib3.connection:Certificate did not match expected hostname: 192.168.1.150.

  • 我并不是在询问上述错误,这只是为了描述我的问题。

例子

主人A:192.168.1.150:5000

主机B:192.168.1.151:5000

证书 CN:*

HostB -> HostA不起作用,因为证书没有指定192.168.1.150地址。

有没有合适的方法来处理这个问题?我知道有些路由器附带默认证书,但它们可以控制其主机地址。

答案1

您当然可以发送默认的 TLS 证书。但您无法做到的是让它不发出安全警告。如果这对最终用户来说是一个问题,则由最终用户来替换证书,而产品开发人员则应尽可能让其变得方便。

相关内容