wolfssl/swig/rsasign.py

36 lines
1.1 KiB
Python
Raw Normal View History

2011-02-05 13:14:47 -06:00
# file: rsasign.py
2015-01-08 15:47:41 -06:00
import wolfssl
2011-02-05 13:14:47 -06:00
# start Random Number Generator
2015-01-08 15:47:41 -06:00
rng = wolfssl.GetRng()
2011-02-05 13:14:47 -06:00
if rng == None:
print "Couldn't get an RNG"
exit(-1)
# load RSA private key in DER format
2015-01-08 15:47:41 -06:00
key = wolfssl.GetRsaPrivateKey("../certs/client-key.der")
2011-02-05 13:14:47 -06:00
if key == None:
print "Couldn't load DER private key file"
exit(-1)
# Make byte Arrays and fill input
2015-01-08 15:47:41 -06:00
signOutput = wolfssl.byteArray(128) # 128 allows 1024 bit private key
signStr = wolfssl.byteArray(25) # input can't be larger then key size
2011-02-05 13:14:47 -06:00
# 64 for 512 bit 128 for 1024 bit
2015-01-08 15:47:41 -06:00
wolfssl.FillSignStr(signStr, "Everybody gets Friday off", 25)
2011-02-05 13:14:47 -06:00
# Do RSA Sign
2015-01-08 15:47:41 -06:00
signedSize = wolfssl.RsaSSL_Sign(signStr, 25, signOutput, 128, key, rng)
2011-02-05 13:14:47 -06:00
2015-01-08 15:47:41 -06:00
# Show output
print "Signed Size = ", signedSize, " signed array = ", wolfssl.cdata(signOutput, signedSize)
2011-02-05 13:14:47 -06:00
# let's verify this worked
2015-01-08 15:47:41 -06:00
signVerify = wolfssl.byteArray(signedSize)
verifySize = wolfssl.RsaSSL_Verify(signOutput, signedSize, signVerify, signedSize, key)
2011-02-05 13:14:47 -06:00
2015-01-08 15:47:41 -06:00
print "Verify Size = ", verifySize, " verify array = ", wolfssl.cdata(signVerify, verifySize)
2011-02-05 13:14:47 -06:00