From 5ac03256db0fe4ca7e3ad1117d096c3a76368b76 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Fri, 9 Jan 2015 09:46:07 +0100 Subject: backported CyaSSL/OpenSSL support for internal webserver instead of MatrixSSL --- release/src/router/cyassl/swig/rsasign.py | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 release/src/router/cyassl/swig/rsasign.py (limited to 'release/src/router/cyassl/swig/rsasign.py') diff --git a/release/src/router/cyassl/swig/rsasign.py b/release/src/router/cyassl/swig/rsasign.py new file mode 100644 index 00000000..ad2e114f --- /dev/null +++ b/release/src/router/cyassl/swig/rsasign.py @@ -0,0 +1,35 @@ +# file: rsasign.py + +import cyassl + + +# start Random Number Generator +rng = cyassl.GetRng() +if rng == None: + print "Couldn't get an RNG" + exit(-1) + +# load RSA private key in DER format +key = cyassl.GetRsaPrivateKey("../certs/client-key.der") +if key == None: + print "Couldn't load DER private key file" + exit(-1) + +# Make byte Arrays and fill input +signOutput = cyassl.byteArray(128) # 128 allows 1024 bit private key +signStr = cyassl.byteArray(25) # input can't be larger then key size + # 64 for 512 bit 128 for 1024 bit +cyassl.FillSignStr(signStr, "Everybody gets Friday off", 25) + +# Do RSA Sign +signedSize = cyassl.RsaSSL_Sign(signStr, 25, signOutput, 128, key, rng) + +# Show output +print "Signed Size = ", signedSize, " signed array = ", cyassl.cdata(signOutput, signedSize) + +# let's verify this worked +signVerify = cyassl.byteArray(signedSize) +verifySize = cyassl.RsaSSL_Verify(signOutput, signedSize, signVerify, signedSize, key) + +print "Verify Size = ", verifySize, " verify array = ", cyassl.cdata(signVerify, verifySize) + -- cgit v1.2.3-54-g00ecf