Example #1
0
        protected override void ProcessAsTls1()
        {
            TlsStream tlsStream = new TlsStream();

            foreach (X509Certificate x509Certificate in base.Context.ServerSettings.Certificates)
            {
                tlsStream.WriteInt24(x509Certificate.RawData.Length);
                tlsStream.Write(x509Certificate.RawData);
            }
            base.WriteInt24(Convert.ToInt32(tlsStream.Length));
            base.Write(tlsStream.ToArray());
            tlsStream.Close();
        }
		protected override void ProcessAsTls1()
		{
			TlsStream certs = new TlsStream();

			foreach (X509Certificate certificate in this.Context.ServerSettings.Certificates)
			{
				// Write certificate length
				certs.WriteInt24(certificate.RawData.Length);

				// Write certificate data
				certs.Write(certificate.RawData);
			}

			this.WriteInt24(Convert.ToInt32(certs.Length));
			this.Write(certs.ToArray());

			certs.Close();
		}
        protected override void ProcessAsTls1()
        {
            TlsStream certs = new TlsStream();

            foreach (X509Certificate certificate in this.Context.ServerSettings.Certificates)
            {
                // Write certificate length
                certs.WriteInt24(certificate.RawData.Length);

                // Write certificate data
                certs.Write(certificate.RawData);
            }

            this.WriteInt24(Convert.ToInt32(certs.Length));
            this.Write(certs.ToArray());

            certs.Close();
        }
Example #4
0
        static void Main(string[] args)
        {
            var server = new TcpListener(IPAddress.Any, 443);
            server.Start();
            
            TlsExtensionManager.RegisterExtension(new ECExtensionConfiguration());
            TlsExtensionManager.RegisterExtension(new GCMExtensionConfiguration());
            TlsExtensionManager.RegisterExtension(new ECGCMExtensionConfiguration());
            
            Console.WriteLine("Listening for clients on {0}", server.LocalEndpoint);

            while (true)
            {
                var client = server.AcceptTcpClient();
                var clientStream = client.GetStream();

                Console.WriteLine("Client connected: " + client.Client.RemoteEndPoint);

                var tlsStream = new TlsStream(clientStream);

                tlsStream.Certificates.AddCertificate(File.ReadAllBytes("localhost.cert"));
                tlsStream.Certificates.AddPrivateKey(File.ReadAllBytes("localhost.key"));

                Console.WriteLine("Starting TLS connection");
                tlsStream.AuthenticateAsServer();

                var reader = new StreamReader(tlsStream);
                var writer = new StreamWriter(tlsStream);

                // Console.WriteLine(reader.ReadLine());
                writer.WriteLine("World");
                writer.Flush();

                tlsStream.Close();
                client.Close();
            }
        }