ほぼ1年ぶりにSmartirc4netを触ってみた。
・・・んだけど、更新されてないOrz

smartirc4netがssl対応していなかったので、ssl対応してみる。

internal class IrcTcpClient: TcpClient
{
    public Socket Socket {
        get {
            return Client;
        }
    }

    private SslStream mStream = null;
    public new Stream GetStream()
    {
        if(mStream == null && base.GetStream() != null)
        {
            mStream = new SslStream(base.GetStream(), false, OnRemoteCertificateValidationCallback);
            mStream.AuthenticateAsClient("", null, SslProtocols.Ssl2 | SslProtocols.Ssl3 | SslProtocols.Tls, false);
        }
        return mStream;
    }

    private static bool OnRemoteCertificateValidationCallback(
        Object aSender,
        X509Certificate aCertificate,
        X509Chain aChain,
        SslPolicyErrors aSslPolicyErrors)
    {
        return true;
    }
}

とりあえず普通につながった。一応メモ程度に残しておきます。

カテゴリー: 技術情報