2016-06-13 39 views
0

我试图从publicKey和privateKey生成/读取RSA密钥对作为字符串。从Python中的字符串解析RSA密钥对

事情是这样的:

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) 

我的错误,我得到的是:

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

我甚至不知道是否有可能像。我没有真正找到有关这方面的信息。

回答

1

RSA.importKey(key)进口一键。它不能导入串联的密钥。

如果您导入私钥,那么您可以从中提取公钥,因为公共PKCS#1和PKCS#8格式具有创建公钥的所有必要信息。所以,你甚至不需要连接公钥到它。

用途:

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