ローカルの環境でp12ファイルをディスクの場所から読み取る必要がありますが、Windowsサーバー2008にサイトを公開すると次のエラーが表示されます。Windowsサーバー2008でp12ファイルを読み取ることができません
System.Security.Cryptography.CryptographicException: An internal error occurred.
at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags)
私が持っているコードは次のとおりです。私はすでにP12ファイルのあるフォルダへの完全なアクセス許可を設定し
var certP12 = new X509Certificate2(
@"C:\temp\file.p12",
"123456",
X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
。
誰でもこれを手伝うことができますか?
Nine申し訳ありませんが、コードを簡単に表示するように変更しましたが、これを修正しますが、これは問題ではありません。 –
管理者権限でアプリケーションを実行しようとしましたか? – NineBerry
これはWebサイトで、AppPoolIdentityを実行しているIIS上で公開しています。同じアイデンティティを持つ他のアプリケーションがうまく動作しています。 –