【问题标题】:Why does some SSL clients need to download a server SSL certificate and store it为什么有些 SSL 客户端需要下载服务器 SSL 证书并存储
【发布时间】:2020-02-06 16:41:37
【问题描述】:

我正在构建一个使用 AWS RDS 的 PHP Web 应用程序。为了使连接加密,我需要从 RDS 下载 SSL 证书并将其存储在应用服务器上,以便应用可以使用它。但是我记得当我使用 SQL 工作台时,它以某种方式知道如何使用 SSL 连接到 RDS 实例,而无需我下载证书并告诉它证书的存储位置。此外,在查看 HTTPS 的工作方式之后,我知道客户端在第一次连接到服务器时不需要存储证书,它会自行下载证书。所以我的问题是我的应用程序使用 SSL 连接到 RNS 实例,为什么我需要先下载证书并告诉我的应用程序它的存储位置?我的应用程序不应该知道如何获取证书本身吗?

【问题讨论】:

    标签: ssl


    【解决方案1】:

    证书验证需要受信任的根 CA。受信任意味着 CA 在本地信任存储中。根据您连接到的站点和您获得的证书,它可能是您已经信任或不信任的 CA 颁发的证书。在后一种情况下,您需要首先明确获取迄今为止不受信任的 CA 证书,并以某种方式将其视为受信任的。

    对于自签名证书,通常需要将 CA 显式导入为受信任的,这通常被认为是不好的做法,但取决于特定环境可能是有意义的。公司特定的 CA 也可能发生这种情况,但最好通过自动化流程将其推广到各种系统。当配置错误的服务器未发送所需的中间证书时,也可能发生这种情况,在这种情况下,最好修复此服务器。

    请注意,您不应导入任意 CA 证书并认为这些证书是可信的。拥有此 CA 的人甚至可以为 google.com 等现有域颁发任意证书,然后您的应用程序也会盲目信任这些伪造的证书,从而使中间人攻击成为可能。

    【讨论】:

      猜你喜欢
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多