【问题标题】:Checking server certificate with openssl versus a web request使用 openssl 与 Web 请求检查服务器证书
【发布时间】:2015-04-28 02:03:12
【问题描述】:

使用安装了 GeoTrust 域证书的标准 MediaTemple 服务器设置,我收到了来自 openssl 和 Web 请求的不同响应。

从站点检查器站点访问该站点时,我得到了很好的响应,并看到了我的域证书和完整的 Geotrust 证书链。

使用时

openssl s_client -connect subdomain.domain.com:443 -showcerts -ssl3

从我的本地机器上看到

Server certificate
subject=/C=US/ST=Virginia/L=Herndon/O=Parallels/OU=Parallels 
Panel/CN=Parallels Panel/emailAddress=info@parallels.com
issuer=/C=US/ST=Virginia/L=Herndon/O=Parallels/OU=Parallels Panel/CN=Parallels 
Panel/emailAddress=info@parallels.com

并验证返回码:18(自签名证书)

openssl version -d = OPENSSLDIR: "/etc/pki/tls"

这是一个 Centos 6.x 盒子。

apache httpd.conf 文件指向一个完全不同位置的证书和 CA 列表:/usr/local/psa/var/certificates/ 这对我来说似乎很好。

openssl s_client 在哪里找到 Parallels 证书?它不在 /etc/pki/tls 中。有没有办法配置盒子,让 openssl 请求和 apache 使用相同的服务器证书?

提前致谢!

【问题讨论】:

    标签: apache ssl openssl centos6


    【解决方案1】:

    openssl s_client 在 SSL 握手期间从服务器获取证书。 OPENSSLDIR 仅用于存储 openssl 工具的任何(可选)配置。

    请注意,openssl 可能与您在服务器上配置的证书不同,因为您需要像浏览器一样使用 SNI(服务器名称指示)。如果您在同一 IP 后面有多个证书,则使用此功能。要将此功能与 openssl 一起使用,请添加 -servername hostname 参数并提供您期望的名称。您还必须删除 -ssl3 选项,因为这会限制与 SSL 3.0 的连接,这不仅不安全而且不支持 SNI。

    【讨论】:

      【解决方案2】:

      事实证明,在 MediaTemple 服务器上,他们在两个位置维护证书。 apache 服务器在其 conf 文件中的 CA 文件位置与 openssl 维护其 CA 文件的位置不同。

      您可以在 conf 文件中找到 apache 位置,使用

      找到 openssl 位置
      openssl version -d
      

      在 MediaTemple 的网页管理页面中,您可以使用 plesk 将域证书作为“服务器”证书安装到 openssl 位置。 apache 服务器应该已经在正确的位置有证书和 CA 文件。 MediaTemple 自定义 apache 配置覆盖了标准 apache 设置,该设置将 apache 的证书位置设置为与 openssl 的相同。

      【讨论】:

        猜你喜欢
        • 2014-09-05
        • 2014-08-18
        • 1970-01-01
        • 2018-11-29
        • 1970-01-01
        • 2011-12-14
        • 1970-01-01
        • 2015-10-19
        • 1970-01-01
        相关资源
        最近更新 更多