aboutsummaryrefslogtreecommitdiff
path: root/scripts/Old/tls-server.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Old/tls-server.py')
-rw-r--r--scripts/Old/tls-server.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/Old/tls-server.py b/scripts/Old/tls-server.py
new file mode 100644
index 00000000..d3798a32
--- /dev/null
+++ b/scripts/Old/tls-server.py
@@ -0,0 +1,40 @@
+# $Id$
+
+import socket, POW, time
+
+key = POW.pemRead(POW.RSA_PRIVATE_KEY, open("Alice.key", "r").read())
+cer = POW.pemRead(POW.X509_CERTIFICATE, open("Alice.cer", "r").read())
+ta = POW.pemRead(POW.X509_CERTIFICATE, open("Carol-TA.cer", "r").read())
+
+listener = socket.socket()
+listener.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+listener.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
+listener.bind(('',6666))
+listener.listen(5)
+
+s, addr = listener.accept()
+while not s:
+ time.sleep(2)
+ s, addr = listener.accept()
+
+s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
+
+print "Got connection %r from %r" % (s, addr)
+
+ssl = POW.Ssl(POW.TLSV1_SERVER_METHOD)
+
+ssl.useCertificate(cer)
+ssl.useKey(key)
+ssl.setVerifyMode(POW.SSL_VERIFY_PEER | POW.SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
+ssl.trustCertificate(ta)
+
+ssl.setFd(s.fileno())
+ssl.accept()
+
+peer = ssl.peerCertificate()
+if peer is not None:
+ print peer.pprint()
+
+ssl.write("Hello, TLS")
+print ssl.read(100)