2016-06-13 2 views
0

J'essaie de générer/lire un RSA-keypair de la publicKey et la privateKey en tant que chaîne.Parse RSA paire de clés à partir de chaîne en Python

Quelque chose comme ceci:

priK = "-----BEGIN RSA PRIVATE KEY-----MIIBOQIBAAJAVJhUS0gLqXLOmVv2xG23oFPwim9+rVxGhLUXqKShQCvB3iRMOHn7/GNJumpwmnglcsNXuqAhN0OxqKGGJdtYdwIDAQABAkBP0VrXnSbDvvuIX+k59Xvo3sp7FDAmSoaO+H9WM9+ht5H/f/geIrSEXSIkFLnzniMwtOJ422GmkDkL1F67HuDhAiEAlNauDiq3RqoXufbauyPEOG9fMS2pvB+auT2XCHJhhKsCIQCRgIo7WIRZYnNpNRWaoppUQK3g+aM8sdeBYpbs2nwDZQIgZXIxrmxFAUAb7d+oVFdbfc/DRSTHhPbRoaKuF87GUwMCIFmzaATsLjO42TPMETSS+BfnBAtFe5hIf3Z5pFgC3h9tAiEAgYjug92fmVvE+CcRSg6at7meSEbK/Kxg7Ar4mlkXMlI=-----END RSA PRIVATE KEY-----" 

pubK = "-----BEGIN PUBLIC KEY-----MFswDQYJKoZIhvcNAQEBBQADSgAwRwJAVJhUS0gLqXLOmVv2xG23oFPwim9+rVxGhLUXqKShQCvB3iRMOHn7/GNJumpwmnglcsNXuqAhN0OxqKGGJdtYdwIDAQAB-----END PUBLIC KEY-----" 

keyPair = RSA.importKey(priK + pubK) 

Mon erreur que je reçois est:

in importKey 
    if lines[1].startswith(b('Proc-Type:4,ENCRYPTED')): 

Je ne sais même pas s'il est possible comme ça. Je n'ai pas vraiment trouvé d'informations à ce sujet.

Répondre

1

RSA.importKey(key) importe une clé. Il ne peut pas importer les clés concaténées. Si vous importez une clé privée, vous pouvez en extraire une clé publique car le format commun PKCS # 1 et PKCS # 8 contient toutes les informations nécessaires pour créer une clé publique. Ainsi, vous n'avez même pas besoin de concaténer la clé publique.

Utilisation:

privateKey = RSA.importKey(priK) 
publicKey = privateKey.publickey()