只有在实际服务器上,在没有密码的证书上出现“指定的网络密码不正确”的错误提示。

8
我正在一个构建在ASP WebForms中的SAML服务提供方项目中使用kentor authservices。在开发机器上它运行良好,但是当我将其部署到生产服务器(Windows 2012 R2,IIS 8)时,X509Certificates.X509Utils._LoadCertFromFile调用会抛出异常:“指定的网络密码不正确。”
只有证书(pfx)没有密码,并且它所在的位置没有任何特殊的安全保护,但是为了确保,我尝试将“所有人”暂时赋予文件夹完全访问权限。
相关的web.config部分如下:
<serviceCertificates>
  <add fileName="~/App_Data/M_SSO_SP.pfx"/>
</serviceCertificates>

尽管我认为这与代码无关,因为在开发机器上可以正常工作——可能是证书方面的一些服务器端问题?非常感谢任何帮助。
2个回答

2
看起来从文件加载证书时出现此错误是已知的错误:ASP.NET - The specified network password is not correct Kentor.AuthServices没有设置MachineKeySet标志,应该这样做。我在github repo中提交了一个问题issue,建议修复它。请跟进该问题以查看何时可用修复程序。

太好了,谢谢Anders!我确实看到了https://dev59.com/s2sy5IYBdhLWcg3w1xeU上的评论帖子 - 是否可能在不像评论所暗示的那样“填满磁盘”的情况下完成这个操作? - David
1
我不知道磁盘填满的风险。stubidp 在 Azure 上运行,并使用 MachineKeySet 标志加载证书,在它上线的这些年里,我没有看到任何问题。 - Anders Abel
啊,好的,那应该没问题了,我看到的其他关于machinekeyset的帖子都没有提到这个。谢谢! - David
似乎这个问题现在影响到了Core示例启动类 - \Samples\SampleAspNetCore2ApplicationNETFramework\Startup.cs中的 options.SPOptions.ServiceCertificates.Add(new X509Certificate2("Sustainsys.Saml2.Tests.pfx")); - 我不得不将其更改为 options.SPOptions.ServiceCertificates.Add(new X509Certificate2("Sustainsys.Saml2.Tests.pfx", "", X509KeyStorageFlags.MachineKeySet));. - jaycer

0

我曾经遇到过同样的问题,后来在服务器上安装了我的pfx文件后问题得到解决。


尝试这个:在安装过程中将密码留空并按回车键。 - Sayedeh Mahshid Fatemi
看起来我们的Windows Server版本有问题。在更新的Windows Server版本(WS 2019)上安装成功了。Windows Server 2008或2012不可行。 - Dan

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