我想将安全数据从一台计算机发送到另一台计算机。包含数据的源计算机具有带有 SSL 证书的域名。接收数据的目标计算机由 IP 地址寻址,并且没有 SSL 证书。这是一个完全自动化的操作,不涉及人工或浏览器。
如果我从源计算机的域到目标计算机的 IP 地址进行 RESTful POST 时,由于其 SSL 证书,连接是否安全?
我猜不是。但在我围绕这个问题编写复杂的代码之前,我想得到一个权威的答案。
如果该 IO 不安全,则源计算机可以执行非安全 POST 来触发目标计算机,目标计算机通过对安全源计算机的域执行 https GET 来响应,以安全地检索数据。但这将涉及更复杂的编码,在触发 POST 和安全 GET 之间"保存易失性数据",我宁愿放弃。
它归结为一个简单的问题:
目标 Web 服务器是否接受 HTTPS 连接?
如果没有(如果它"没有SSL证书",则可能是),那么您将无法打开与它的HTTPS连接,必须使用HTTP,并且HTTP不安全。请求者是否存储了任何 SSL 证书并不重要;我的机器上有大量SSL证书,这仍然不能使我的所有HTTP请求都安全。
源计算机可以执行非安全 POST 以触发目标计算机,目标计算机通过对安全源计算机的域执行 https GET 来响应以安全地检索数据
这是一个不错的解决方法,实际上即使目标具有HTTPS,也更可取。除非使用其他身份验证方案,否则任何人都可以随时向目标计算机发出HTTPS请求,以发送未经身份验证的数据。但是,如果目标只是公开一个"Web 钩子"来通知它事件,并且它必须从经过身份验证的来源本身获取数据,那就破坏了这个问题。