initial source import
diff --git a/examples/simple/client.py b/examples/simple/client.py
new file mode 100644
index 0000000..6358b20
--- /dev/null
+++ b/examples/simple/client.py
@@ -0,0 +1,53 @@
+#
+# client.py
+#
+# Copyright (C) 2001 Martin Sjögren and AB Strakt, All rights reserved
+#
+# $Id: client.py,v 1.7 2002/08/15 12:20:46 martin Exp $
+#
+"""
+Simple SSL client, using blocking I/O
+"""
+
+from OpenSSL import SSL
+import sys, os, select, socket
+
+def verify_cb(conn, cert, errnum, depth, ok):
+ # This obviously has to be updated
+ print 'Got certificate: %s' % cert.get_subject()
+ return ok
+
+if len(sys.argv) < 3:
+ print 'Usage: python[2] client.py HOST PORT'
+ sys.exit(1)
+
+dir = os.path.dirname(sys.argv[0])
+if dir == '':
+ dir = os.curdir
+
+# Initialize context
+ctx = SSL.Context(SSL.SSLv23_METHOD)
+ctx.set_verify(SSL.VERIFY_PEER, verify_cb) # Demand a certificate
+ctx.use_privatekey_file (os.path.join(dir, 'client.pkey'))
+ctx.use_certificate_file(os.path.join(dir, 'client.cert'))
+ctx.load_verify_locations(os.path.join(dir, 'CA.cert'))
+
+# Set up client
+sock = SSL.Connection(ctx, socket.socket(socket.AF_INET, socket.SOCK_STREAM))
+sock.connect((sys.argv[1], int(sys.argv[2])))
+
+while 1:
+ line = sys.stdin.readline()
+ if line == '':
+ break
+ try:
+ sock.send(line)
+ sys.stdout.write(sock.recv(1024))
+ sys.stdout.flush()
+ except SSL.Error:
+ print 'Connection died unexpectedly'
+ break
+
+
+sock.shutdown()
+sock.close()