После решения моей проблемы, связанной с XMLRPC.NET + HTTPs, я провел несколько успешных тестов в Windows с этим образцом решения клиент/сервер XMLRPC, но не смог заставить клиента (работающего в Mono Linux) подключиться к серверу (работающем в Windows 7). Конечно, я использую самогенерируемые сертификаты для тестирования (как на клиенте, так и на сервере), но это не работает для клиента в Linux.
Как видите, клиентский код генерирует сертификат X509 при запуске:
System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
IStateName proxy = XmlRpcProxyGen.Create<IStateName>();
XmlRpcClientProtocol cp = (XmlRpcClientProtocol)proxy;
cp.Url = "https://127.0.0.1:5678/";
cp.ClientCertificates.Add(new System.Security.Cryptography.X509Certificates.X509Certificate(@"C:\path\to\your\certificate\file\my.cer"));
cp.KeepAlive = false;
и он предназначен для приема всех сертификатов, даже ненадежных. Но, несмотря на это, он все еще не работает.
Кроме того, некоторые тесты с использованием wget показывают, что wget https://www.google.com/
успешно связывается и загружает сертификат, но не в моем случае с wget https://192.168.1.3:5678/
и даже с --no-check-certificate
.
У кого-нибудь есть идеи о том, что происходит? Большое спасибо.