我有一个网站 ( http://example.com
),它用 javascript 发出一些请求http://localhost:12345
。我想通过 https 打开这个网站,但由于内容混合,一些浏览器会发出警告。
如果我为 localhost.example.com 购买单独的证书并将 DNS 指向 127.0.0.1,然后将其用于 javascript 发出的请求,会有多大的安全问题?本质上,证书将安装在客户端的服务器上。据我所知,即使有人拥有 localhost.example.com 的证书,也无法用它解密对 *.example.com 的请求。我这样想对吗?
另外,在这种情况下,CA 会采取什么行动?他们会在未经我们同意的情况下自行采取任何行动吗?
答案1
要使用 SSL 证书保护请求者计算机上的本地端点,您需要将私钥和公钥分发到客户端计算机,并确保监听的本地应用程序127.0.0.1:12345
使用此密钥对。
从攻击者的角度来看,拦截路由的消息127.0.0.1/8
需要对客户端计算机具有特权本地访问权(因为环回流量永远不会“离开”机器)
如果潜在攻击者已经拥有窃听本地 TCP 套接字所需的特权访问权限,那么该攻击者可能也拥有或可以访问私钥,从而使您的努力变得徒劳。
此外 - 既然消息加密现在依赖于相同的密钥,无论您身在何处,那么危害一台客户端计算机就会危害所有客户端计算机上的加密密钥。
有许多方法可以确保进程间消息加密,但分发来自公共 CA 的 SSL 证书及其私钥绝对不是一个可行的起点。