После решения моей проблемы, связанной с XMLRPC.NET + HTTP , я провел несколько успешных тестов на 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
.
Кто-нибудь имеет представление о том, что происходит? Большое спасибо.