2009-09-21 13 views
5
msg = "this is msg to encrypt" 

pub_key = M2Crypto.RSA.load_pub_key('mykey.py') // This method is taking PEM file. 

encrypted = pub_key.public_encrypt(msg, M2Crypto.RSA.pkcs1_padding) 

このメソッドでは、radix64形式の公開鍵を含むファイルをパラメータとして渡して、予期せぬ結果、すなわちradix64形式の公開鍵を使用した暗号化を取得できません。公開鍵を使って暗号化するには?

いくつかのメカニズムを試した後に公開鍵を使用してmsgを暗号化できる他の方法はPython APIにありますか?

私の公開鍵は、いくつかのHTMLラッピングとradix64形式で公開鍵サーバーから取得しています。公開鍵をどのような暗号化方式でも受け入れられるように変換するにはどうすればよいですか?

+0

私はそれを暗号化するためにPythonを使用していません。 – n00b

+0

どこに問題がありますか?それは 'load_pub_key()'か 'public_encrypt()'の中にありますか?トレースバックを含むエラーを含めるように質問を編集してください。また、公開鍵ファイル、つまり 'mykey.py'の内容を含めることができれば非常に便利です – mhawke

答えて

0

、この質問に対する私の答えを参照してください。これはPGP公開鍵ですが、行の長さが異なるため、RSA公開鍵として直接使用することはできません。

6

場合誰かが、私は同じエラーメッセージを取得して、この質問を検索します。私の場合は

M2Crypto.RSA.RSAError: no start line 

が、それは私のキーはタイプユニコードであったことが判明しました。これは、キーをasciiに変換することによって解決されました:

key.encode('ascii') 
関連する問題