[英]How to extract RSA public exponent using python M2Crypto
我有以下一段代碼,用於提取主機葉證書和證書 RSA 公鑰:
c = ssock.getpeercert(True)
x509 = M2Crypto.X509.load_cert_der_string(c)
publickey=x509.get_pubkey()
m=publickey.get_modulus()
我試圖找到函數來提取 RSA 密鑰的公共指數,但我找不到任何函數。 你能幫我弄清楚如何提取 RSA 公鑰的公共指數嗎?
編輯:如果 M2Crypt 不可能。 請指出任何其他方式。
編輯 2:當我嘗試將證書加載為 DER 時:
key = RSA.importKey(publickey.as_der())
我收到此錯誤:
('file() 參數 1 必須是沒有 NULL 字節的編碼字符串,而不是 str',)
我想避免將證書保存在本地系統中。 我只是想提取模數和指數等信息。 我從錯誤中了解到, importKey
函數將參數作為 DER 文件而不是字符串。 你能幫我找到解決方法嗎?
此代碼應該為您提供模數和公共指數:
import Crypto.PublicKey.RSA
c = ssock.getpeercert(True)
x509 = M2Crypto.X509.load_cert_der_string(c)
publickey = x509.get_pubkey()
key = Crypto.PublicKey.RSA.importKey(publickey.as_der())
modulus = key.n
public_exponent = key.e
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.