1. ホーム
  2. c#

[解決済み] CryptographicExceptionは処理されませんでした。システムが指定されたファイルを見つけることができません。

2023-05-25 01:10:55

質問

私はSSL通信の謎を解き明かそうとしているところです。 このサイト . 私は自分自身の証明書をテストしようとしていました。Visual Studio 2012 を使用して、既存のファイル (私の証明書 .pfx 形式) を追加し、app.config で "certificate" と "password" の設定を変更するだけでした。しかし、それを実行しようとすると、エラーが発生しました。

CryptographicException was unhandled: システムは指定されたファイルを見つけることができません

次に、Web サービスで同じことを試してみました。そこでは、エラーの詳細がいくつかわかりました。

System.Security.Cryptography.CryptographicException: System cannot find specified file.

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName)
   at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags)
   v System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password)
   v TestServer.DataService.LoadSoap() v c:\Users\Administrator\Documents\Visual Studio 2012\Projects\TestServer\TestServer\DataService.asmx.cs:line 48

私はこの質問を記事の著者に書きましたが、彼の最後の回答が2012年3月だったので、私は彼が答えるかどうか、確信が持てません。もし誰かがこの問題で私を助けることができれば、私は非常に感謝します。

追伸: 証明書を .cer から .pfx にエクスポートする際、エクスポートされるファイルのタイトルを変更しました。問題への影響は疑わしいですが、私はむしろそれを言及します。

どのように解決するのですか?

IISのアプリケーションプールで以下の設定を行いましたか?

  1. IIS マネージャーに移動します。
  2. アプリケーション プール インスタンスに移動します。
  3. 詳細設定をクリックします
  4. プロセスモデルで、ユーザープロファイルの読み込みを true に設定します。

さらに詳しい情報は、このスタック質問を参照してください。 IIS プールの LoadUserProfile を設定すると、具体的に何が起こりますか?