2016-06-13 31 views
0

Ich versuche, ein RSA-Schlüsselpaar aus dem PublicKey und dem PrivateKey als String zu generieren/lesen.Parse RSA Schlüsselpaar aus Zeichenfolge in Python

Etwas wie folgt aus:

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) 

Mein Fehler, ich bin immer ist:

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

Ich weiß nicht, auch wenn es wie das möglich ist. Ich habe nicht wirklich Informationen darüber gefunden.

Antwort

1

RSA.importKey(key) importiert einen Schlüssel. Es kann keine verketteten Schlüssel importieren.

Wenn Sie einen privaten Schlüssel importieren, können Sie einen öffentlichen Schlüssel daraus extrahieren, da das gängige PKCS # 1- und PKCS # 8-Format alle erforderlichen Informationen zum Erstellen eines öffentlichen Schlüssels enthält. Sie müssen also nicht einmal den öffentlichen Schlüssel verketten.

Verwendung:

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