diff options
Diffstat (limited to 'scripts/Old/tls-server.py')
-rw-r--r-- | scripts/Old/tls-server.py | 40 |
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) |