How to load in Python-RSA a public RSA key from a file generated with openssl? -


i generated private , public key following commands:

openssl genrsa -out private_key.pem 512 openssl rsa -in private_key.pem -pubout -out public_key.pem 

i tried load them python script using python-rsa:

import os import rsa  open('private_key.pem') privatefile:     keydata = privatefile.read() privkey = rsa.privatekey.load_pkcs1(keydata,'pem')  open('public_key.pem') publicfile:     pkeydata = publicfile.read()  pubkey = rsa.publickey.load_pkcs1(pkeydata)  random_text = os.urandom(8)  #generate signature signature = rsa.sign(random_text, privkey, 'md5') print signature  #verify token try:     rsa.verify(random_text, signature, pubkey) except:     print "verification failed" 

my python script fails when tries load public key:

valueerror: no pem start marker "-----begin rsa public key-----" found 

python-rsa uses pem rsapublickey format , pem rsapublickey format uses header , footer lines: openssl notes

-----begin rsa public key----- -----end rsa public key-----

output public part of private key in rsapublickey format: openssl examples

 openssl rsa -in key.pem -rsapublickey_out -out pubkey.pem 

Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -

matlab - How to equate a structure array to structure array -