XMLRPC.NET + HTTPsに関する私の問題を解決した後、私はこのXMLRPCクライアント/サーバーサンプルソリューションでWindows上でいくつかのテストを成功させましたが、(Mono Linux上で実行されている)クライアントをサーバーに接続できませんでした。私はテスト用に自己生成証明書を使用していますが(クライアントとサーバーの両方)、Linux上のクライアントでは機能しません。Mono C#HTTPs(XMLRPC.NET)エラー:クライアント証明書またはサーバー証明書の問題?
あなたが見ることができるように、クライアントコードは、起動時に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 https://www.google.com/
が正常に連絡先をダウンロードして、私のケースではwget https://192.168.1.3:5678/
、さらには--no-check-certificate
と表示されないことを示しています。
何が起こっているのか考えている人はいますか?どうもありがとうございました。
こんにちは、ありがとう、poupou。だから私がうまくいけば、MonoでPKCSファイルを作成し(makecertを使って?)、 'X509Certificate2'クラスを使ってこのファイルを読み込む必要がありますか? – virrea
MonoのmakecertはPKCS#12ファイルを作成できます。マイクロソフト社のmakecertの古いバージョンは、新しいバージョンのものではありませんでした。しかし** yes ** PKCS#12ファイルを取得したら、それを読むために 'X509Certificate2'を使うことができます(秘密鍵を保護するためにオプションのパスワードで) – poupou