自己署名入り証明書を使ったサイトに SSL でアクセスする

.NET Remoting の HttpChannel を使って、自己署名入り証明書を使ったサイトに SSL でアクセスしようとすると、例外が発生する。「SSL/TLS のセキュリティで保護されているチャネルに対する信頼関係を確立できませんでした」とのこと。

ServicePointManager クラスの ServerCertificateValidationCallback プロパティを利用すれば、この現象を回避することが可能。このクラスは System.Net 名前空間にある。

// オレオレ証明書を使ったサイトに SSL で接続テストする場合。
// true を返して、信用したことにしておく。
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

この問題は .NET Remoting に限った話ではないが。