public static void Initialize() { MonoTlsProviderFactory.Initialize(); var trustAnchors = new X509CertificateCollection(); var caCertData = Utils.ReadResource("Hamiller-Tube-CA.pem"); var imCertData = Utils.ReadResource("Hamiller-Tube-IM.pem"); trustAnchors.Add(new X509Certificate(caCertData)); trustAnchors.Add(new X509Certificate(imCertData)); MonoTlsSettings.DefaultSettings.TrustAnchors = trustAnchors; }
public static async Task Run() { var listener = new TcpListener(new IPEndPoint(IPAddress.Loopback, 9999)); listener.Start(); Console.WriteLine($"SERVER LISTENING"); var socket = await listener.AcceptSocketAsync().ConfigureAwait(false); Console.WriteLine($"ACCEPTED CONNECTION FROM {socket.RemoteEndPoint}"); var ns = new NetworkStream(socket); var stream = new SslStream(ns); var certData = Utils.ReadResource("server-cert-im-full.pfx"); var cert = new X509Certificate2(certData, "monkey"); await stream.AuthenticateAsServerAsync(cert); Console.WriteLine("SERVER AUTH OK"); }