83

asp.net Web サイトのクライアント証明書認証を作成しようとしています。

クライアント証明書を作成するには、最初に認証局を作成する必要があります。

makecert.exe -r -n “CN=My Personal CA” -pe -sv MyPersonalCA.pvk -a sha1 -len 2048 -b 01/01/2013 -e 01/01/2023 -cy authority MyPersonalCA.cer

次に、IIS 7 にインポートする必要がありますが、.pfx 形式を受け入れるため、最初に変換します。

pvk2pfx.exe -pvk MyPersonalCA.pvk -spc MyPersonalCA.cer -pfx MyPersonalCA.pfx

MyPersonalCA.pfx をインポートした後、https サイト バインディングを Web サイトに追加し、上記を SSL 証明書として選択しようとしましたが、次のエラーが表示されます。

ここに画像の説明を入力

助言がありますか?

4

22 に答える 22

83

この同じ問題に遭遇しましたが、別の方法で修正しました。最初に証明書を設定しようとしたときから、作業を完了するために戻ったときまでに、使用していたアカウントが変更されたため、問題が発生したと思います。問題が何であるかはわかりませんが、現在のユーザーからのある種のハッシュに関係していると思われ、ユーザーが変更または再作成されるなど、一部のシナリオでは一貫性がありません.

これを修正するために、IIS と証明書スナップイン (現在のユーザーとローカル コンピューター用) の両方から、問題の証明書のすべての参照を削除しました。

IIS 証明書

mmc.exe --> スナップインの追加/削除、証明書の選択、ローカル コンピューターまたは現在のユーザーの選択

次に、*.pfx ファイルを MMC の証明書スナップインにインポートし、Local Computer\Personal ノードに配置しました。

  1. [個人] の下 (ルートとしての [ローカル コンピューター] の下) の [証明書] ノードを右クリックします。
  2. すべてのタスク -> インポート
  3. ウィザードに従って *.pfx をインポートします

その時点から、IIS に戻り、サーバー証明書でそれを見つけることができました。最後に、自分のサイトにアクセスしてバインディングを編集し、正しい証明書を選択しました。ユーザーはプロセス全体で一貫していたので、うまくいきました。

別の回答で言及されている点まで、それは重大なセキュリティ上の問題であるため、エクスポート可能としてマークすることに頼る必要はありません。同様のアクセス許可のセットでボックスにアクセスできる人なら誰でも、証明書を持って他の場所にインポートできるようになります。明らかにそれは最適ではありません。

于 2014-09-15T18:54:52.797 に答える
64

セキュリティ警告: チェックボックスが実際に意味することは、証明書を読み取ることができないユーザーが証明書を読み取ることができるということです。IIS ワーカー プロセスを実行しているユーザーなど。本番環境では、代わりに他の回答を使用してください。

私にも起こり、インポート時に「この証明書のエクスポートを許可する」がチェックされていることを確認することで修正されました。

                                            ここに画像の説明を入力

(この投稿のおかげで!)

于 2013-10-18T14:09:49.043 に答える
10

これは何らかの IIS バグに違いありませんが、解決策を見つけました。

1- IIS からMyPersonalCA.pfxをエクスポートします。

2- .pemに変換します:

openssl pkcs12 -in MyPersonalCA.pfx -out MyPersonalCA.pem -nodes

3- .pfxに戻す:

openssl pkcs12 -export -in MyPersonalCA.pem -inkey MyPersonalCA.pem -out MyPersonalCA.pfx

4- IISにインポートします。

于 2013-02-19T11:04:14.520 に答える
8

現在のユーザーの個人証明書ストアに証明書を誤ってインポートしたために、同じ問題が発生しました。現在のユーザーの個人用ストアから削除し、ローカル マシンの個人用証明書ストアにインポートすると、問題が解決しました。

于 2015-08-17T15:42:40.330 に答える
7

おそらく誰もこれを気にすることはありませんが、IIS 7 Web サイトのバインドでこの問題に直面しました。私がそれを修正した方法は、認証局に行き、問題のあるサーバーに発行された証明書を見つけることでした。証明書を要求したユーザー アカウントを確認しました。次に、そのアカウントで RDP を使用して IIS サーバーにログインしました。そのアカウントのみを使用して、https プロトコルを再バインドできました。エクスポート、再発行、または拡張機能を変更するハックは必要ありませんでした。

于 2013-12-26T14:21:47.627 に答える
4

IIS から証明書をインポートする代わりに、MMC からインポートします。次に、バインドのために IIS に移動します。

于 2016-06-07T09:26:00.360 に答える
3

PKCS #12 証明書のエクスポート中に openssl コマンドラインが間違っていたため、このエラーが発生しました。-certfile キーが間違っていました。証明書を再度エクスポートしたところ、正常にインポートされました。

于 2014-01-20T12:45:21.717 に答える
2

同じ問題がありました。個人ストア (誰かが入れたもの) と Web ホスティングから証明書を削除することで解決しました。すべて IIS マネージャーを介して行われます。次に、Webホスティングストアに再度追加し(すべてをチェックして)、HTTPSを再び使用できます...

于 2015-06-10T07:36:16.460 に答える
2

私の場合は、World Wide Publishing Service ユーザーが証明書へのアクセス許可を持っていなかったことが原因でした。証明書をインストールした後、MMC の証明書モジュールにアクセスし、問題のある証明書を右クリックします。「すべてのタスク」メニューから「秘密鍵の管理...」を選択し、上記のユーザーを追加します。私の場合、これは SYSTEM ユーザーでした。

于 2015-09-02T07:01:28.097 に答える
0

Windows Certificate Manager を使用して SSL 証明書の PFX ファイルをインポートすることで、この問題を解決できました。

http://windows.microsoft.com/en-us/windows-vista/view-or-manage-your-certificates

于 2015-09-22T06:18:53.980 に答える
0

私の場合、最近 StartSSL から新しいバージョンの証明書 (IIS の PFX) をインポートしましたが、古いバージョンを削除するのを忘れていたため、何らかの理由でこのエラーが発生しました (現在、2 つの証明書は同じようなものです)。両方を削除し、適切なものをインポートしたところ、動作するようになりました。

于 2016-09-10T19:07:44.413 に答える
0

私にとって、修正は IIS から証明書を削除して再インポートすることでしたが、「Web ホスティング」ではなく「個人用」証明書ストアに入れました。

以下によると、少なくとも私自身の状況では、これで問題ありません。

また、違いが生じた場合は、IIS のインポート方法ではなく、ローカル マシンで証明書をダブルクリックした後、ウィザードを使用して証明書をインポートしました。この後、証明書は IIS で自動的に利用可能になりました。

于 2021-07-26T15:33:53.873 に答える