我在 StartSSL 上获得了我拥有的域的证书。所以这给了我:
- 中间 CA 证书
- StartCom 根 CA 证书
- 私钥
为了接收这些,我向 StartSSL 发送了这个:
- 我拥有的证明
mydomain.com
(通过电子邮件代码验证) - 我用我已经拥有的私钥制作的 CSR
看来我需要做的是把这个密钥和这个证书链放到我的服务器上,这样服务器上的 OpenSSL 就可以使用它们来让 Web 浏览器放心。
但是哪个私钥是哪个?我有生成 CSR 的私钥和从 CA 获得的私钥。
我也不是 100% 清楚的是这里可以保证什么。浏览器查看证书,它告诉浏览器它应该连接到mydomain.com
.
StartCom 所知道的是,我已经向他们展示了我拥有mydomain.com
并且我是唯一拥有此私钥的人。这就是传递的内容,所以现在从南斯拉夫连接的浏览器现在也有这些信息。
因此,我的 Web 服务器位于具有动态 IP 的廉价家庭连接上。我在我的域注册商处将 DNS 设置为直接mydomain.com
使用myname.dynDNSProvider.com
aCNAME
并且我的动态 DNS 服务已myname.dynDNSProvider.com
重定向到我家路由器上的动态 WAN IP。
当 IP 更改时,请求会被定向到其他人或根本没有人。一切正常,因为攻击者无法使用报告的有效证书设置服务器mydomain.com
。而且我还必须信任我的 DNS 服务。一旦我更新了 IP,一切都会再次运行。
这就是它的工作原理吗?从我的域到我的实际 IP 的重定向路径是否与 SSL 身份验证无关?如果我的 DNS 服务提供商愿意,他们是否可以比外来者更有效地执行攻击?
我基本上只是想以便宜的方式建立与我的家庭服务器的安全连接,为了以便宜的方式完成它,我完全可以接受动态 DNS 将导致的任何短暂停机时间。我在这里要解决的特定问题是让浏览器不要说“无效证书!!!” 当他们看到我的自签名 SSL 证书来自我的服务器时。我很难找到好的资源来了解这些东西是如何工作的。