【问题标题】:SSL certificate sometimes stops workingSSL 证书有时会停止工作
【发布时间】:2015-11-13 20:37:42
【问题描述】:

有时,主要是在夜间,我们的 SSL 证书会停止工作。 伴随此故障的错误是:

尝试访问 SSL 服务器凭据私钥时发生致命错误。从加密模块返回的错误代码是 0x8009030d。内部错误状态为 10001。

目前为了解决这个问题,我们只需将故障网站的 SSL 绑定更改为不同的网站,保存并切换回来。这样,证书就会再次被拾取并起作用(魔术)。

问题是:我们如何防止这种情况发生?每次发生这种情况(现在在过去 6 个月内发生了两次),网站就会关闭。

【问题讨论】:

    标签: security iis ssl certificate


    【解决方案1】:

    我找到的一篇文章解决了这个问题:https://techcommunity.microsoft.com/t5/iis-support-blog/error-hresult-0x80070520-when-adding-ssl-binding-in-iis/ba-p/377281

    仅供参考,我们已经检查了所有三个选项。

    如果这个错误再次出现,我会在这里发布。

    【讨论】:

    • 我遇到了同样的问题,而且每 3 小时发生一次!至少每天...我花了太多时间来解决这样一个愚蠢的问题,是的,我使用了相同的解决方案:) 现在的问题是:这 3 个场景中的哪一个解决了我的问题?第二个:如何以编程方式应用此修复程序?
    • 对文件夹“C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys”应用了权限,并且成功了。
    • 鼓励链接到外部资源,但请add context around the link,这样您的其他用户就会知道它是什么以及它存在的原因。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。 Answers that are little more than a link may be deleted
    【解决方案2】:

    我也遇到过这个问题。如果在使用中,我的服务器服务可以正常工作数小时,但如果 45 分钟没有呼叫,则会出现此错误。所以发生了某种超时或其他到期。我写了一个实用程序来监控我的服务,当然这让它保持活力。所以我调整了时间,找到了让它失败的时间段。我重新检查了我使用过的所有网络参考资料,发现重新阅读paulstovell.com 的文章提到了PersistKeySet 属性。更改准备证书的代码以包含此内容,因此现在如下:

      X509Certificate2 cert = new X509Certificate2(file, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.Exportable); 
    

    已解决此问题,证书不再过期或超时并出现 0x8009030d 错误。当然这是有道理的,因为错误是关于没有密钥,并且需要持久化它。

    http://paulstovell.com/blog/x509certificate2

    【讨论】:

    • 我尝试了X509Certificate2 cert = new X509Certificate2(file, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.Exportable);的解决方案,大约30-40分钟后私钥仍然消失。
    【解决方案3】:

    通过编辑C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 的权限,我已经解决了同样的问题,谢谢

    【讨论】:

      猜你喜欢
      • 2013-04-24
      • 1970-01-01
      • 2016-08-14
      • 2018-03-04
      • 1970-01-01
      • 2013-05-04
      • 2021-12-20
      • 2016-07-02
      相关资源
      最近更新 更多