C#.NET Win-Forms で SSL クライアントを作成しました。証明書 (公開鍵) をシステム ルート ストアに追加し (.NET コードまたは Internet Explorer を介して手動でどちらも機能します)、Windows XP では正常に機能しますが、Windows 7 ではAuthenticateAsClient()を試行すると次のようなAuthenticationExceptionが発生します:
"クライアントとサーバーは共通のアルゴリズムを持っていないため、通信できません」
Microsoft のサポート ドキュメントでは、いくつかのレジストリ キーを一覧表示し、Windows 7 でデフォルトで有効 (新しい強力なもの) または無効 (古い古いもの) になっているプロトコル / 暗号 / アルゴリズムについて説明しているため、レジストリを編集して有効/無効にすることができます。これらのリンクは次のとおりです。
Schannel.dll で特定の暗号化アルゴリズムとプロトコルの使用を制限する方法 TLS/SSL 暗号化の機能強化
暗号化が苦手な限り、どのレジストリ キーが自分のケースに一致するかわかりません。クライアントとして使用している X509Certificate オブジェクトのプロパティは次のとおりです。
SignatureAlgorithm.FriendlyName: " sha1RSA "
バージョン: 3
誰か助けてくれませんか?