簡體   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