Я использую бета-версию SignalR 1.1. Мой код контроллера, как показано нижеSignalR 1.1 Beta1 и сертификат сервера
_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 миллисекундыTimeout, CancellationToken cancelationToken) в 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();
Как настроить пользовательский сертификат клиента перед запуском соединения концентратора?
Любая идея, спасибо заранее.
Praveen
Спасибо Дэвид, я скачал бета от NuGet пакета, используя приведенную ниже команду PM> Install-Package Microsoft.AspNet.SignalR -Pre Детали client.dll как ниже Microsoft.AspNet.SignalR.Client (16757 ...) Версия файла 1.1.20410.0 Версия продукта 1.1.0-beta1. Невозможно увидеть метод AddClientCertificate – user2314647