无法读取Windows Server 2008上的p12文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法读取Windows Server 2008上的p12文件相关的知识,希望对你有一定的参考价值。

我需要从磁盘位置读取一个p12文件,在我的本地环境中一切正常,但是当我将该站点发布到Windows Server 2008时,我收到以下错误:

System.Security.Cryptography.CryptographicException:发生内部错误。

System.Security.Cryptography.X509Certificates的System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32hr)at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(String fileName,IntPtr password,UInt32 dwFlags,Boolean persistKeySet,SafeCertContextHandle&pCe​​rtCtx) System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName,String password,X509KeyStorageFlags keyStorageFlags)中的.X509Certificate.LoadCertificateFromFile(String fileName,Object password,X509KeyStorageFlags keyStorageFlags)

我的代码是:

var certP12 = new X509Certificate2(
                    @"C:	empfile.p12",
                    "123456",
                    X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);

我已经为具有p12文件的文件夹设置了完全权限。

任何人都可以帮忙吗?

答案

可能的欺骗,并有一个可能的答案:

"An internal error occurred." when loading pfx file with X509Certificate2

简而言之,在您的本地环境中,它可能会尝试将证书放在您的本地用户存储中,但是您的网站无法访问该存储。它需要被告知要去机器商店。

以上是关于无法读取Windows Server 2008上的p12文件的主要内容,如果未能解决你的问题,请参考以下文章

无法让 nservicebus 性能计数器在 Windows Server 2008 R2 上的开发/自主机中工作

连接到 Windows Server 2008 上的 MS Access accdb 文件

Windows Server 2008 上的串行端口问题

无法进入远程 SQL Server 2008 上的存储过程

如何在 Windows Server 2008 上的 MS Access VBA 中获取 Windows 用户名

无法使用 WMI 在 Windows 2012 Server 上读取 BCDStore 信息