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証明書として上記を選択しようとしましたが、次のエラーが表示されました。
助言がありますか?
これは、何らかの種類の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 [〜#〜]にインポートして戻します。
この同じ問題に出くわしましたが、別の方法で修正しました。使用していたアカウントは、最初に証明書を設定しようとしたときから、仕事を終えるために戻ったときに問題が発生したと考えられます。問題は何なのかはわかりませんが、現在のユーザーからの何らかのハッシュと関係があると思われ、ユーザーが変更または再作成されるなど、いくつかのシナリオでは矛盾しています。
修正するために、IISと証明書スナップイン(現在のユーザーとローカルコンピューター)の両方から、問題の証明書のすべての参照を削除しました。
次に、*。pfxファイルをMMCの証明書スナップインにインポートし、Local Computer\Personalノードに配置しました。
その時点から、IISに戻り、サーバー証明書でそれを見つけることができました。最後に、自分のサイトに行き、バインディングを編集し、正しい証明書を選択しました。ユーザーがプロセス全体で一貫しているため、うまくいきました。
別の回答で言及された点までは、それが主要なセキュリティ問題であるため、エクスポート可能としてマークすることに頼る必要はないはずです。同様の権限を持つボックスにアクセスできる人なら誰でも、証明書を持ち出して他の場所にインポートすることができます。明らかにそれは最適ではありません。
セキュリティ警告:チェックボックスが本当に意味するのは、証明書を読むことができないはずのユーザーが証明書を読むことができるということです。ユーザーがIISワーカープロセスを実行している場合など。実稼働環境では、代わりに other answer を使用してください。
私にも起こり、インポート時に「この証明書のエクスポートを許可する」がcheckedであることを確認することで修正されました。
(おかげで この投稿 !)
おそらくこれを気にする人はいないでしょうが、私はIIS 7ウェブサイトバインディングでこの問題に直面しました。それを修正する方法は、認証局に行き、サーバーに発行された証明書を見つけること証明書を要求したユーザーアカウントを確認しました。その後、そのアカウントでRDPを使用してIISサーバーにログインしました。そのアカウントのみを使用してhttpsプロトコルを再バインドできました。再発行、または拡張機能を変更するハッキングが必要でした。
この問題は、仮想マシンに証明書をインストールし、さらに使用するためにそのイメージを作成したために発生しました。
以前に作成したイメージから別のVMを作成すると、証明書はメッセージを送信します。
これを回避するには、新しいVM=をインストールするたびに証明書をインストールしてください。
現在のユーザーの個人証明書ストアに証明書を誤ってインポートしたため、同じ問題が発生しました。現在のユーザーの個人ストアからそれを削除し、ローカルマシンの個人証明書ストアにインポートすることで問題は解決しました。
同じ問題がありました。個人ストア(誰かが入れたもの)およびWebホスティングから証明書を削除することで解決しました。 IISマネージャーを介して行われます。その後、ウェブホスティングストアに追加し(すべてチェック済み)、HTTPSを再び使用できます...
PKCS#12証明書のエクスポート中に間違ったopensslコマンドラインが原因でこのエラーが発生しました。 -certfileキーが間違っていました。証明書を再度エクスポートしましたが、正常にインポートされました。
私の場合は、World Wide Publishing Serviceユーザーが証明書に対するアクセス許可を持っていなかったためです。証明書をインストールした後、MMCで証明書モジュールにアクセスし、問題のある証明書を右クリックします。[すべてのタスク]メニューから[秘密鍵の管理...]を選択し、ユーザー:私の場合、これはSYSTEMユーザーでした。
MSDNブログ投稿 によると、これは、現在のユーザーアカウントに、フォルダー(Cの下にある秘密鍵ファイルへのアクセス許可がない場合に発生する可能性があります。\ProgramData\Microsoft\Crypto\RSA\MachineKeys "。どうやらこれは、ユーザーアカウント/ユーザーグループ上記のフォルダーへのフルアクセスアクセス許可を付与することで解決できます。
私は同じ問題に遭遇しましたが、単に.pfxファイルをで再インポートすることで解決できました。この証明書のエクスポートを許可しますチェックボックスselected.
ただし、この方法ではセキュリティリスクが発生します。IISサーバーにアクセスできるユーザーは、秘密キーを使用して証明書をエクスポートできます。
私の場合、IISサーバーにアクセスできるのは私だけです。したがって、大きなリスクではありませんでした。
Windows Certificate Managerを使用してSSL証明書PFXファイルをインポートすることにより、この問題を解決することができました。
http://windows.Microsoft.com/en-us/windows-Vista/view-or-manage-your-certificates
試してください:
私は今日この問題を抱えたばかりで、あなたが私がやったよりも少ない髪を失うことを期待して、私の解決策を投稿せざるを得ないと感じています。
上記のソリューションを試した後、SSLプロバイダーからSSL証明書を再発行する必要がありました(RapidSSLはGeoTrustのリセラーとして発行しています)。
このプロセスにはno costがあり、確認メール(admin @)が到着するまでわずか5分間待機し、再びアクセスできるようになりました。
応答が得られたら、IIS>サーバー証明書を使用してインストールしました。MMCスナップインは必要ありませんでした。
https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO5757
ログインアカウント/セッションの違いなどの問題を避けるために、サーバーへのリモートデスクトップウィンドウを開いたままにしました。これはIIS 1つのRDCアカウントがあります。最も腹立たしいのは、まったく同じ証明書が突然「壊れる」前の2か月間完全に機能していることです。
IISから証明書をインポートする代わりに、MMCから証明書をインポートします。次に、goto IISバインディング用。
開発マシンのlocalhost pfx certをバインドしようとすると、このエラーが発生していました。上記のいずれかを試す前に、まず簡単なものを試しました。
その後はすべてうまくいくようです。
私の場合、最近、StartSSLから新しいバージョンの証明書(IISのPFX)をインポートし、古いものを削除するのを忘れていました。両方を削除し、適切なものをインポートしましたが、現在は正常に機能します。