繁体   English   中英

在 Python 中将字符串公钥导入 RSA 公钥

[英]Import String Public Key to RSA Public Key in Python

我正在使用Python RSA做 RSA 加密和解密

我有字符串格式的公钥/私钥,上面提到的库期望它是rsa.PublicKey类型的格式类

我无法将我的字符串公钥/私钥转换为所需的格式(类)


公钥:

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt14jQ0+D8+gpsCPIrCoWVgw8qmH6izDXQTSqHngcGkjuuK58TOOgUo/lari7uTAg5s0ng42WYwQw3uXqa4aKOUMfcLvmn9pALNY3q9oXZa9plxemGR9itlTrY6ZKOX2FrRTB42K6F6YUnMTtjotw/6E3lNQJpFYwyT1EhLV/TP2ds7NVbNEMX+kRcelxD9Cwwigfv+2eljUJP/lQUoNTEJr6oQRibPMSBCRBbljUq5fDSxGrm0WKFLcxDwcf57/qekeWeFkysdzOTSlOQfGs8WLGho3pMNal0uCzEi2SIVPnkg3cNs6nCJ/Y3LCwUcOk1kRJqyZqk46s4iFzEElGqQIDAQAB

发布的密钥是 X.509/SPKI 格式的 Base64 编码、DER 编码的 RSA 公钥(这可以在 ASN.1 解析器中验证,例如https://lapo.it/asn1js/ )。

Python-RSA 支持公共 RSA 密钥两种格式(即 X.509/SPKI 和 PKCS#1)和编码(即 PEM 和 DER)以及rsa.PublicKey类的相应方法,例如发布的 Base64 编码、DER 编码的 X .509/SPKI 密钥可以使用load_pkcs1_openssl_der()导入,如下所示:

import rsa
import base64

publicKeySpkiDer = base64.b64decode('MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt14jQ0+D8+gpsCPIrCoWVgw8qmH6izDXQTSqHngcGkjuuK58TOOgUo/lari7uTAg5s0ng42WYwQw3uXqa4aKOUMfcLvmn9pALNY3q9oXZa9plxemGR9itlTrY6ZKOX2FrRTB42K6F6YUnMTtjotw/6E3lNQJpFYwyT1EhLV/TP2ds7NVbNEMX+kRcelxD9Cwwigfv+2eljUJP/lQUoNTEJr6oQRibPMSBCRBbljUq5fDSxGrm0WKFLcxDwcf57/qekeWeFkysdzOTSlOQfGs8WLGho3pMNal0uCzEi2SIVPnkg3cNs6nCJ/Y3LCwUcOk1kRJqyZqk46s4iFzEElGqQIDAQAB')
publicKey = rsa.PublicKey.load_pkcs1_openssl_der(publicKeySpkiDer)

可以使用load_pkcs1_openssl_pem()导入 PEM 编码的 X.509/SPKI 密钥。

可以使用load_pkcs1()导入 PKCS#1 公钥。 在第二个参数中指定了编码(使用'PEM''DER' )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM