Example #1
0
        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;
        }
Example #2
0
        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");
        }