使用 openssl 与 Web 请求检查服务器证书
Checking server certificate with openssl versus a web request
使用安装了 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
并验证 return 代码: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 使用相同的服务器证书?
提前致谢!
openssl s_client
在 SSL 握手期间从服务器获取证书。 OPENSSLDIR
只是存储 openssl
工具的任何(可选)配置的地方。
请注意,您获得的 openssl
证书可能与您在服务器上配置的不同,因为您需要像浏览器一样使用 SNI(服务器名称指示)。如果您在同一 IP 后有多个证书,则使用此功能。要将此功能与 openssl
一起使用,请添加 -servername hostname
参数并提供您期望的名称。您还必须删除 -ssl3
选项,因为这会限制与 SSL 3.0 的连接,这不仅不安全而且不支持 SNI。
事实证明,在 MediaTemple 服务器上,他们在两个位置维护证书。 apache 服务器在其 conf 文件中有一个 CA 文件的位置,该位置与 openssl 维护其 CA 文件的位置不同。
您可以在 conf 文件中找到 apache 位置,并使用
找到 openssl 位置
openssl version -d
在 MediaTemple 的 Web 管理页面中,您可以使用 plesk 将域证书作为 "server's" 证书安装到 openssl 位置。 apache 服务器应该已经在正确的位置具有证书和 CA 文件。 MediaTemple 自定义 apache 配置覆盖了标准 apache 设置,它将 apache 的证书位置设置为与 openssl 的相同。
使用安装了 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
并验证 return 代码: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 使用相同的服务器证书?
提前致谢!
openssl s_client
在 SSL 握手期间从服务器获取证书。 OPENSSLDIR
只是存储 openssl
工具的任何(可选)配置的地方。
请注意,您获得的 openssl
证书可能与您在服务器上配置的不同,因为您需要像浏览器一样使用 SNI(服务器名称指示)。如果您在同一 IP 后有多个证书,则使用此功能。要将此功能与 openssl
一起使用,请添加 -servername hostname
参数并提供您期望的名称。您还必须删除 -ssl3
选项,因为这会限制与 SSL 3.0 的连接,这不仅不安全而且不支持 SNI。
事实证明,在 MediaTemple 服务器上,他们在两个位置维护证书。 apache 服务器在其 conf 文件中有一个 CA 文件的位置,该位置与 openssl 维护其 CA 文件的位置不同。
您可以在 conf 文件中找到 apache 位置,并使用
找到 openssl 位置openssl version -d
在 MediaTemple 的 Web 管理页面中,您可以使用 plesk 将域证书作为 "server's" 证书安装到 openssl 位置。 apache 服务器应该已经在正确的位置具有证书和 CA 文件。 MediaTemple 自定义 apache 配置覆盖了标准 apache 设置,它将 apache 的证书位置设置为与 openssl 的相同。