我正在开发一个应用程序,该应用程序使用 NodeJS(除其他外)从主网站下载一些未加密的 PDF 报告。这些资源非常 secret ,因此我需要确保流量安全。
因此,据我了解,我需要从受信任的 CA 购买并安装 SSL 证书,并在 NodeJS 中使用 https.request(...)
下载 PDF 文件。但我不知道如何确保主机文件没有被篡改,或者没有正在进行的 MITM 攻击,甚至证书仍然有效,没有过期并且是必须的。我该怎么做呢?有配置参数吗?
如果有人能解释一下是什么阻止了攻击者自己购买 SSL 证书、使用与原始站点的外部 IP 相同的 IP 托管本地服务器以及篡改 DNS 的目标来欺骗用户,那么奖励是什么?
最佳答案
这个想法是您打开 SSL 连接,检查对等证书,只有当它没有过期,是您期望的等等时,您才继续。一旦您对正在与您应该与之交谈的人交谈感到高兴,SSL 就会提供针对重放、中间人等的安全性。HTTPs 通过坚持证书主题匹配来为您做一些事情您连接的主机名。但大部分取决于您。
关于node.js - 保护 HTTPS 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11069135/