【问题标题】:Check if my SSL Certificate is SHA1 or SHA2检查我的 SSL 证书是 SHA1 还是 SHA2
【发布时间】:2014-11-06 19:01:43
【问题描述】:

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

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

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

有什么想法吗?我可以通过 cPanel 进行检查吗?

【问题讨论】:

    标签: sha1 sha2


    【解决方案1】:

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

    自 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。

    Background

    【讨论】:

      【解决方案2】:
      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]*//'
      

      【讨论】:

        【解决方案3】:

        我必须稍微修改一下才能在 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 上测试

        【讨论】:

          【解决方案4】:

          使用 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
          

          参考文献

          文章Why Google is Hurrying the Web to Kill SHA-1 准确地描述了您所期望的内容,并且有一个漂亮的图形。

          【讨论】:

          • 如果您想使用 STARTTLS 测试 SMTP 服务器,请使用:openssl s_client -connect www.yoursite.com:25 -starttls smtp &lt; /dev/null 2&gt;/dev/null | openssl x509 -text -in /dev/stdin | grep "Signature Algorithm"
          【解决方案5】:

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

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

          【讨论】:

          • 是的,非常感谢 - 答案是带有 RSA 加密的 SHA-256
          • 我认为这是最简单的方法!仅供参考:在 Firefox x.x 上,我使用“工具->页面信息”,然后使用“安全”选项卡
          猜你喜欢
          • 2014-12-15
          • 1970-01-01
          • 2017-12-15
          • 2012-01-08
          • 1970-01-01
          • 1970-01-01
          • 2011-12-05
          • 1970-01-01
          • 2016-10-07
          相关资源
          最近更新 更多