检查我的SSL证书是SHA1还是SHA2

51

我试图找到答案,但是没有找到...

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

我问这个问题的原因是它可能与证书在Mozilla浏览器上无法加载有关...

有什么想法吗?我能通过cPanel来检查吗?

5个回答

50

使用Linux命令行

请参考这个相关问题的描述,使用命令行:如何在命令行中检查我的SSL证书是SHA1还是SHA2

命令

以下是命令。将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

参考资料

文章《为何Google在加速网络杀死SHA-1》描述了你所期望的内容,并提供了一个精美的图形。


如果你想测试带有STARTTLS的SMTP服务器,请使用以下命令:openssl s_client -connect www.yoursite.com:25 -starttls smtp < /dev/null 2>/dev/null | openssl x509 -text -in /dev/stdin | grep "Signature Algorithm" - Christopher K.

22
更新:下面的网站已经停止运行,因为他们在网站上说:
“从2016年1月1日起,任何公共信任的CA都不允许颁发SHA-1证书。此外,大多数现代浏览器和操作系统在2017年初已经移除了SHA-1支持。您获得的任何新证书应自动使用SHA-2算法进行签名。”
“旧版客户端将继续接受SHA-1证书,并且可能已经在2015年12月31日之前请求了有效期为39个月的证书。因此,在2019年初到期的情况下,可能会看到野生的SHA-1证书。”
原始答案:
您还可以使用https://shaaaaaaaaaaaaa.com/——这个网站专门用于简化这个特定任务。该网站有一个文本框——您输入您的站点域名,点击“Go”按钮,然后它告诉您该站点是否使用SHA1或SHA2。 背景

21
你可以通过访问网站并查看浏览器接收到的证书来进行检查。 如何执行此操作的详细信息因浏览器而异,但通常,如果您点击或右键单击锁图标,则应该有一个查看证书详细信息的选项。
在证书字段列表中,查找名为“证书签名算法”的字段。(对于StackOverflow的证书,它的值是“PKCS#1 SHA-1 With RSA Encryption”)。

是的,完全正确,谢谢 - 答案是SHA-256与RSA加密。 - Henry
我认为这是最简单的方法!FYI:在Firefox x.x上,我使用“工具->页面信息”,然后选择“安全”选项卡。 - aequalsb

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]*//'

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接