3

このメソッドM2Crypto.RSA.RSA().save_key_der()を使用して、キーを DER 形式で保存できます。ただし、期待どおりに対応するメソッドが表示されませんM2Crypto.RSA.load_key_der()

M2Crypto を使用して DER でエンコードされた RSA キーをロードする方法はありますか?

4

1 に答える 1

10

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>
于 2011-04-23T16:54:43.403 に答える