forked from wolfSSL/wolfssl
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# file: runme.py
 | 
						|
 | 
						|
import wolfssl
 | 
						|
 | 
						|
print ""
 | 
						|
print "Trying to connect to the example server -d..."
 | 
						|
 | 
						|
wolfssl.wolfSSL_Init()
 | 
						|
#wolfssl.wolfSSL_Debugging_ON()
 | 
						|
ctx = wolfssl.wolfSSL_CTX_new(wolfssl.wolfTLSv1_2_client_method())
 | 
						|
if ctx == None:
 | 
						|
    print "Couldn't get SSL CTX for TLSv1.2"
 | 
						|
    exit(-1)
 | 
						|
 | 
						|
ret = wolfssl.wolfSSL_CTX_load_verify_locations(ctx, "../certs/ca-cert.pem", None)
 | 
						|
if ret != wolfssl.SSL_SUCCESS:
 | 
						|
    print "Couldn't do SSL_CTX_load_verify_locations "
 | 
						|
    print "error string = ", ret
 | 
						|
    exit(-1)
 | 
						|
 | 
						|
ssl = wolfssl.wolfSSL_new(ctx)
 | 
						|
ret = wolfssl.wolfSSL_swig_connect(ssl, "localhost", 11111)
 | 
						|
 | 
						|
if ret != wolfssl.SSL_SUCCESS:
 | 
						|
    print "Couldn't do SSL connect"
 | 
						|
    err    = wolfssl.wolfSSL_get_error(ssl, 0)
 | 
						|
    if ret == -2:
 | 
						|
        print "tcp error, is example server running?"
 | 
						|
    else:
 | 
						|
        print "error string = ", wolfssl.wolfSSL_error_string(err)
 | 
						|
    exit(-1)
 | 
						|
 | 
						|
print "...Connected"
 | 
						|
written = wolfssl.wolfSSL_write(ssl, "hello from python\r\n", 19)
 | 
						|
 | 
						|
if written > 0:
 | 
						|
    print "Wrote ", written, " bytes"
 | 
						|
 | 
						|
byteArray = wolfssl.byteArray(100)
 | 
						|
readBytes = wolfssl.wolfSSL_read(ssl, byteArray, 100)
 | 
						|
 | 
						|
print "server reply: ", wolfssl.cdata(byteArray, readBytes)
 | 
						|
 |