0

特定の X509 証明書を ASP.NET アプリケーション内に読み込む際に問題が発生しました (つまり、https の IIS を介していない)。(MMC スナップインを使用して) ローカル マシンの「個人用」および「信頼されたルート」ストアにロードしましたが、どちらのストアからもロードできません。

アプリ プール ID を管理者権限を持つユーザーに変更すると、証明書を検索、読み込み、使用できるため、NETWORK SERVICE アカウントには読み取り/読み込みのアクセス許可がないようです。

これは公開証明書にすぎないため、秘密鍵を使用する証明書とは異なり、アクセス許可を設定する場所がどこにもありません。

以前、このアプリケーションの公開証明書でこの問題が発生したことがないため、奇妙です。この公開証明書と以前の公開証明書 (正常に読み込まれた) との唯一の違いは、この特定の公開証明書が Verisign によって署名されているため、他のいくつかの Verisign 証明書を含む証明書チェーンがあることです。

前もって感謝します、
チャールズ

参考までに、私の開発環境は IIS7 を搭載した Vista Business マシンです。

4

2 に答える 2

1

しばらく経ちましたが、証明書を物理ストアにインポートすることで解決した (証明書をインストールするときに [物理ストアを表示] チェック ボックスをクリックする)ことで解決した、アクセス許可関連の証明書の問題があったことを思い出したようです。

または、 FileMonまたはProcMonを調べて、NETWORK SERVICE の Access Denieds を確認することもできます。この MSDN ページには、ディスク上のストアの場所が一覧表示されています。

まだ漠然とした答えのままですが、これが最終的に解決につながることを願っています...

于 2008-12-03T19:49:00.167 に答える
0

カップルの異なる考え。「秘密鍵を使用した証明書」という用語の使用方法と、管理者権限でアクセスしようとした後の「証明書の使用」の意味に少し混乱しています。次のいずれかを実行しようとしていると思います。

  • 証明書のコピーを取得して検証するか、それを使用して何かを暗号化します。

  • 証明書と秘密鍵のコピーを取得し、それを使用して署名などを行います。

だから... #1 の場合、私の最初の賭けは、証明書の設定が ASP.NET プロトコルで何かを台無しにしたことです。Verisign は、特定の方法で証明書を生成および署名するために使用されるプロファイルを構成します。これにより、証明書のアップロードを妨げる可能性のある変更できない証明書設定が提供されます。問題のない証明書と問題のある証明書を確認し、証明書の拡張子がどのように異なるかを確認します。これは、クライアントの IE 証明書プレビュー ウィンドウから実行できます。オンラインで見つけたさまざまな設定を確認してください。通常、Microsoft 統合の問題に関するレポートが公開されています。

残念ながら、問題が見つかった場合は、Versign に戻って、正しい拡張子で署名された新しい証明書を取得する必要があります。企業アカウントをお持ちの場合は、上位層のサポートに相談してください。ツールに適した証明書プロファイルを見つけるのに十分な情報を提供してくれるはずです。

#2 の場合- 証明書の秘密鍵をエクスポートできないようにしている可能性があります。ソフトウェア証明書を使用していて、PKCS12 またはその他の証明書ストレージ ファイルをブラウザにアップロードしたと仮定しています。その際、秘密鍵をエクスポートできるようにするかどうかを尋ねられます。いいえと答えた場合 (チェックボックスをオフのままにした場合)、秘密鍵はブラウザーから離れません。

元の証明書/秘密鍵ストレージ ファイルが手元にある場合、答えは簡単です。個人の証明書ストアから証明書を削除し、再アップロードします。必ずエクスポート可能ボックスをチェックしてください。

于 2008-12-31T00:51:08.680 に答える