error when import private key in python

Ho Yeung Lee jobmattcon at gmail.com
Sun Jun 4 07:49:41 EDT 2017


i use "wb" to write public and private key and succeed to import private key
but after decrypt, it is not clear text, it is hex number


from Crypto.PublicKey import RSA
keypair = RSA.generate(2048)
alice_privkey = keypair.exportKey('PEM', 'mysecret', pkcs=1)
#alice_privkey = keypair.exportKey()
alice_pubkey = keypair.publickey().exportKey()

text_file = open("alice_pubkey.txt", "wb")
text_file.write(alice_pubkey)
text_file.close()

keypair = RSA.generate(2048)
bob_privkey = keypair.exportKey('PEM', 'mysecret2', pkcs=1)
#bob_privkey = keypair.exportKey()
bob_pubkey = keypair.publickey().exportKey()

text_file = open("bob_pubkey.txt", "wb")
text_file.write(bob_pubkey)
text_file.close()

text_file = open("alice_privkey.pem", "wb")
text_file.write(alice_privkey)
text_file.close()
text_file = open("bob_privkey.pem", "wb")
text_file.write(bob_privkey)
text_file.close()


#step 2
#use alice public key to encrypt
pubkey = RSA.importKey(alice_pubkey)
alice_masterkey = pubkey.encrypt("i am Martin", None)

text_file = open("alice_masterkey.txt", "w")
text_file.write(bob_pubkey)
text_file.close()

#step 3
quit()
python
text_file = open("alice_masterkey.txt", "r")
alice_masterkey=text_file.read()
text_file.close()
text_file = open("alice_privkey.pem", "r")
alice_privkey=text_file.read()
text_file.close()
text_file = open("alice_pubkey.txt", "r")
alice_pubkey=text_file.read()
text_file.close()

from Crypto.PublicKey import RSA
pubkey = RSA.importKey(alice_pubkey)
privkey = RSA.importKey(alice_privkey,passphrase="mysecret")
encryption_key = privkey.decrypt(alice_masterkey)
encryption_key

....hex number


On Sunday, June 4, 2017 at 7:29:07 PM UTC+8, Thomas Jollans wrote:
> On 04/06/17 13:22, Ho Yeung Lee wrote:
> > # [snip]
> > alice_privkey=text_file.read().replace('\n', '')
> 
> Why are you removing newlines? Does the documentation tell you to do this?
> 
> >>>> privkey = RSA.importKey(alice_privkey,passphrase="mysecret")
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> >   File "C:\Python27\lib\site-packages\Crypto\PublicKey\RSA.py", line 638, in importKey
> >     if lines[1].startswith(b('Proc-Type:4,ENCRYPTED')):
> > IndexError: list index out of range
> > 
> 
> This is just a wild guess, but it looks like the package expects there
> to be multiple lines in the key.
> 
> 
> -- Thomas




More information about the Python-list mailing list