このメソッドM2Crypto.RSA.RSA().save_key_der()
を使用して、キーを DER 形式で保存できます。ただし、期待どおりに対応するメソッドが表示されませんM2Crypto.RSA.load_key_der()
。
M2Crypto を使用して DER でエンコードされた RSA キーをロードする方法はありますか?
PEM 形式は、base64 でエンコードされた DER データで、追加のヘッダー行とフッター行があります。DER をバイナリとして読み取り、PEM に変換して、次のように渡すことができRSA.load_key_string
ます。
import base64
from M2Crypto import RSA
TEMPLATE = """
-----BEGIN RSA PRIVATE KEY-----
%s
-----END RSA PRIVATE KEY-----
"""
raw = open('key.der', 'rb').read()
data = TEMPLATE % base64.encodestring(raw).rstrip()
key = RSA.load_key_string(data)
print key
出力:
<M2Crypto.RSA.RSA instance at 0x10eb710>