我有一台旧设备,可以连接到 HTTPS 网页并下载一些内容。我希望该设备从我控制的域下载内容,但客户端嵌入了特定的根 CA,并且只有当 SSL 连接使用此 CA 颁发的证书时才会连接。
我当然可以通过改变客户端上的软件并用 HTTP URL 替换 https URL,从连接中删除所有 HTTPS 内容来解决这个问题。
然而,我正在寻找一种无需修改客户端(仅 DNS 编辑)即可实现的方法,现在我已经读取了“SSL 空密码”。
可以使用无需身份验证的 SSL 密码之一(例如,TLS_NULL_WITH_NULL_NULL
或者TLS_DH_anon_WITH_AES_256_CBC_SHA
可能让该设备接受我的虚假连接?也许它接受这些假密码...
但是我不知道(并且在互联网上也没有找到太多信息)如何让我的网络服务器真正使用这些密码。
我目前正在使用 Apache 并尝试配置这些密码,但没有成功,文档指出空密码已被删除,因为它们不安全。但是,我知道它们不安全,无论如何都想使用它们...
是否有另一个 Web 服务器,我可以使用它与该客户端协商空密码,并希望使其连接到我的服务器,即使它没有有效的证书?
理论上,如果设备接受这些密码,那么它应该可以与虚假服务器一起使用,因为这些密码不会对服务器进行身份验证,不是吗?
答案1
强制执行特定根证书(即尝试强制执行正确的证书验证)的设备不太可能被说服接受完全没有身份验证的握手。通常,客户端不会启用带有匿名身份验证的密码。
除此之外:NULL 密码是无需加密但仍可能需要身份验证的密码(如 TLS_RSA_WITH_NULL_SHA)。您要求的是无需身份验证但仍可能需要加密的密码(如 TLS_DH_anon_WITH_AES_128_CBC_SHA)。