50

我试图找到这个问题的答案,但我找不到答案......

如何检查我的 SSL 证书使用的是 SHA1 还是 SHA2?

我问的原因是因为它可能与未在 Mozilla 浏览器上加载的证书有关......

有任何想法吗?我可以通过 cPanel 进行检查吗?

4

5 回答 5

49

使用 Linux 命令行

使用命令行,如相关问题所述:How do I check if my SSL Certificate is SHA1 or SHA2 on the commandline

命令

这是命令。更换www.yoursite.com:443以满足您的需求。默认 SSL 端口为 443:

openssl s_client -connect www.yoursite.com:443 < /dev/null 2>/dev/null \
    | openssl x509 -text -in /dev/stdin | grep "Signature Algorithm"

结果

这应该为 sha1 返回类似的内容:

Signature Algorithm: sha1WithRSAEncryption

或者对于较新的版本:

Signature Algorithm: sha256WithRSAEncryption

参考

这篇文章为什么谷歌正在加速网络杀死 SHA-1准确地描述了你所期望的,并且有一个漂亮的图形,也是。

于 2014-11-01T01:40:39.670 回答
22

更新:下面的网站不再运行,因为正如他们在网站上所说:

自 2016 年 1 月 1 日起,不允许公开信任的 CA 颁发 SHA-1 证书。此外,大多数现代浏览器和操作系统在 2017 年初删除了 SHA-1 支持。您获得的任何新证书都应自动使用 SHA-2 算法进行签名。

旧版客户端将继续接受 SHA-1 证书,并且可以在 2015 年 12 月 31 日申请有效期为 39 个月的证书。因此,有可能会在 2019 年初看到 SHA-1 证书过期。

原答案:

您还可以使用https://shaaaaaaaaaaaaa.com/ - 进行设置以简化此特定任务。该站点有一个文本框 - 您输入您的站点域名,单击“开始”按钮,然后它会告诉您该站点使用的是 SHA1 还是 SHA2。

背景

于 2014-09-22T10:07:49.233 回答
21

您可以通过在浏览器中访问该站点并查看浏览器收到的证书来进行检查。具体操作方法因浏览器而异,但通常如果您单击或右键单击锁定图标,应该有一个选项可以查看证书详细信息。

在证书字段列表中,查找名为“证书签名算法”的字段。(对于 StackOverflow 的证书,其值为“PKCS #1 SHA-1 With RSA Encryption”。)

于 2014-09-12T14:56:09.087 回答
3
openssl s_client -connect api.cscglobal.com:443 < /dev/null 2>/dev/null  | openssl x509 -text -in /dev/stdin | grep "Signature Algorithm" | cut -d ":" -f2 | uniq | sed '/^$/d' | sed -e 's/^[ \t]*//'
于 2015-12-28T15:20:53.323 回答
0

我必须稍微修改一下才能在 Windows 系统上使用。这是用于 windows 框的单衬版本。

openssl.exe s_client -connect yoursitename.com:443 > CertInfo.txt && openssl x509 -text -in CertInfo.txt | find "Signature Algorithm" && del CertInfo.txt /F

使用http://iweb.dl.sourceforge.net/project/gnuwin32/openssl/0.9.8h-1/openssl-0.9.8h-1-bin.zip在 Server 2012 R2 上测试

于 2015-11-19T15:21:03.590 回答