我对SSL通信的想法有点模糊,我需要一些澄清。
我的应用程序的体系结构 - 运行应用程序的内部计算机通过BIG IP服务器暴露于Internet。
我网站上的证书层次结构 - Root(2040年到期)R - 中级(2036年到期)I - xxxx.com(2天后到期)F
我使用相同的根CA和中间CA创建了新证书。它是使用不同的密钥创建的。我也有钥匙。
我的问题是:
1)当我使用独立应用程序从计算机X(互联网上的一些随机机器)到暴露的URL执行HTTP Post时,SSL握手应该在两个地方进行。 a)计算机X和BIG -IP b)BIG-IP和运行应用程序的内部机器。独立应用程序应在其密钥库中具有URL的公共证书,即R和I.正确?或者我也应该获得xxxx.com证书,即F?谁决定这个?
2)这是一个不同的场景。我在BIG IP服务器上放置了新创建的xxxx.com证书(它具有相同的Root和Intermediate证书R和I)。此证书的开始时间是2014年8月1日。但我的内部实例仍然具有旧证书。它将于2014年9月3日到期。即使在这种情况下我也能成功发布。为什么会这样?由于新旧密钥的密钥不同,因此在BIG-IP和内部实例的SSL握手期间请求应该失败。
请帮助我理解这两种情况。我将不胜感激。
由于
答案 0 :(得分:0)
根CA应位于客户端计算机的受信任证书存储库中。如果要卸载,服务器(BIG-IP)应具有中间证书和fqdn(或SAN /通配符)的证书。如果您在BIG-IP上卸载而不是重新加密到原始服务器,那么您在原始服务器上不需要任何证书。如果是,那么它将与具有中间和服务器证书的BIG-IP设置相同。
如果您的中间服务器和服务器证书由客户端不信任的根(内部证书或没有标准受信任CA的自定义客户端)签名,则您需要确保客户端手动安装根CA或推送它