【发布时间】:2014-11-06 19:01:43
【问题描述】:
我试图找到这个问题的答案,但我找不到答案......
如何检查我的 SSL 证书使用的是 SHA1 还是 SHA2?
我问的原因是因为它可能与未在 Mozilla 浏览器上加载的证书有关....
有什么想法吗?我可以通过 cPanel 进行检查吗?
【问题讨论】:
我试图找到这个问题的答案,但我找不到答案......
如何检查我的 SSL 证书使用的是 SHA1 还是 SHA2?
我问的原因是因为它可能与未在 Mozilla 浏览器上加载的证书有关....
有什么想法吗?我可以通过 cPanel 进行检查吗?
【问题讨论】:
更新:下面的网站不再运行,因为正如他们在网站上所说:
自 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。
【讨论】:
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]*//'
【讨论】:
我必须稍微修改一下才能在 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 上测试
【讨论】:
使用命令行,如相关问题所述: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
文章Why Google is Hurrying the Web to Kill SHA-1 准确地描述了您所期望的内容,并且有一个漂亮的图形。
【讨论】:
openssl s_client -connect www.yoursite.com:25 -starttls smtp < /dev/null 2>/dev/null | openssl x509 -text -in /dev/stdin | grep "Signature Algorithm"
您可以通过在浏览器中访问该站点并查看浏览器收到的证书来进行检查。具体操作方法因浏览器而异,但通常如果您单击或右键单击锁定图标,则应该有一个查看证书详细信息的选项。
在证书字段列表中,查找名为“证书签名算法”的字段。 (对于 StackOverflow 的证书,其值为“PKCS #1 SHA-1 With RSA Encryption”。)
【讨论】: