簡體   English   中英

如何使用python M2Crypto提取RSA公共指數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM