]> git.sur5r.net Git - freertos/blob - FreeRTOS-Plus/Source/CyaSSL/swig/rsasign.py
Final commit before tagging - cosmetic changes only.
[freertos] / FreeRTOS-Plus / Source / CyaSSL / swig / rsasign.py
1 # file: rsasign.py
2
3 import cyassl 
4
5
6 # start Random Number Generator
7 rng = cyassl.GetRng()
8 if rng == None:
9     print "Couldn't get an RNG"
10     exit(-1)
11
12 # load RSA private key in DER format
13 key = cyassl.GetRsaPrivateKey("../certs/client-key.der")
14 if key == None:
15     print "Couldn't load DER private key file"
16     exit(-1)
17
18 # Make byte Arrays and fill input
19 signOutput = cyassl.byteArray(128)   # 128 allows 1024 bit private key
20 signStr    = cyassl.byteArray(25)    # input can't be larger then key size
21                                      # 64 for 512 bit 128 for 1024 bit
22 cyassl.FillSignStr(signStr, "Everybody gets Friday off", 25)
23
24 # Do RSA Sign
25 signedSize = cyassl.RsaSSL_Sign(signStr, 25, signOutput, 128, key, rng) 
26
27 # Show output 
28 print "Signed Size = ", signedSize, " signed array = ", cyassl.cdata(signOutput, signedSize)
29
30 # let's verify this worked
31 signVerify = cyassl.byteArray(signedSize)
32 verifySize = cyassl.RsaSSL_Verify(signOutput, signedSize, signVerify, signedSize, key)
33
34 print "Verify Size = ", verifySize, " verify array = ", cyassl.cdata(signVerify, verifySize)
35