如何正确读取Python中存储的RSA PEM公钥?
解决rsa库加载PEM格式公钥时出现"No PEM start marker"错误
错误原因:你调用rsa.PublicKey.load_pkcs1()时未指定格式参数,该方法默认以DER二进制格式解析密钥,但你的公钥是PEM文本格式的字节数据,导致库无法匹配到PEM的起始标记。
解决方法:在加载时显式指定format='PEM'参数,告诉rsa库按PEM格式解析:
pubkey = rsa.PublicKey.load_pkcs1(pk, format='PEM')
补充说明:
- 你的
pk变量是bytes类型,这符合PEM格式的输入要求,无需额外转码。 - 如果公钥内容存在多余的前缀、后缀(比如额外空格、换行),可以先用
pk.strip()去除后再加载,避免格式干扰。
内容的提问来源于stack exchange,提问作者0sik
相关产品推荐
相关产品推荐

