SignalR 1.1 ベータ版を使用しています。私のコントローラーコードは以下の通りです
_signalUrl = "https://localhost/signalr";
_hubConnection = new HubConnection(_signalUrl);
_proxy = _hubConnection.CreateHubProxy("MyHub");
_hubConnection.Start().Wait(); // throws error
以下、エラー詳細です
InnerException {"基になる接続が閉じられました: SSL/TLS セキュア チャネルの信頼関係を確立できませんでした。"} System.Exception {System.Net.WebException}
InnerException {"検証手順によると、リモート証明書は無効です。"} System.Exception {System.Security.Authentication.AuthenticationException}
System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) でのスタック トレース (System.Threading.Tasks.Task.Wait(Int32 ミリ秒タイムアウト、CancellationToken cancelToken) での System.Threading.Tasks.Task.Wait())。
証明書を使用してサーバーにデプロイすると、ドメイン名 ( https://domainname.com/signalr
) を使用して正常に動作します。ただし、IP アドレス ( https://IPAddress/signalr
) は使用できません。
また、以下のコードでクライアント証明書を追加してみました。
_proxy = _hubConnection.CreateHubProxy("MyHub");
X509Certificate certificate = X509Certificate.CreateFromCertFile("MyCert.cer");
_hubConnection.Start(new MyHttpClient() { Certificate = certificate }).Wait();
ハブ接続を開始する前にカスタム クライアント証明書を構成する方法を教えてください。
どんなアイデアでも、前もって感謝します。
プラヴィーン