No PEM start marker b-----BEGIN RSA PRIVATE KEY----- found
出现场景为使用python的rsa
库读取openssl生成的公钥私钥进行加密和解密操作时。
RSA库用的是pkcs1格式的密钥文件,而如果之前生成的是pkcs8格式,会出现错误:
1 | No PEM start marker "b'-----BEGIN RSA PRIVATE KEY-----'" found |
对于公钥读取,可以用load_pkcs1_openssl_pem
方法代替load_pkcs1
;对于私钥,只能用openssl命令把pkcs8格式转换为pkcs1了:
1 | openssl pkcs8 -in pri_key.pem -nocrypt -out private_pkcs1.pem -traditional |
似乎有的版本不需要-traditional
。