0

次のコードを検討してください。

fileHandle = open ( 'test8.pem','w' )
fileHandle.write (data)
pub_key = M2Crypto.RSA.load_pub_key(open('test8.pem'))

次のエラーが発生します。

 File "/usr/lib/python2.4/site-packages/M2Crypto/RSA.py", line 343, in load_pub_key
bio = BIO.openfile(file) 
  File "/usr/lib/python2.4/site-packages/M2Crypto/BIO.py", line 186, in openfile
    return File(open(filename, mode))
IOError: [Errno 2] No such file or directory: ''

load_pub_keyファイル名を渡すだけでアクセスできるように、ファイルをメソッドに渡すにはどうすればよいですか?

4

3 に答える 3

0

引用符なしで test8.pem を渡すと、Python はそれを定義されていない変数の名前として解釈するため、エラーが発生します。

使用している特定のライブラリはわかりませんが、代わりに fileHandle を渡す必要があると思います。

于 2009-08-25T10:04:18.607 に答える
0

私も同じ問題を抱えています。パスの代わりにファイル ハンドラーを読み込もうとしましたが、役に立ちませんでした。

そのワークアウトは、M2Crypto の X509 モジュールを使用していました。この関数を使用して、公開鍵インスタンスを取得できます。

certificate = M2Crypto.X509.load_cert(cert_path)
pubkey = certificate.get_pubkey()

次の回答の詳細: m2crypto を使用した RSACryptoServiceProvider メッセージ署名の検証

于 2013-07-16T08:58:05.947 に答える
0

これはあなたのために働くはずです:

fname = 'test8.pem'
fileHandle = open(fname, 'w')
fileHandle.write(data)
fileHandle.close()
pub_key = M2Crypto.RSA.load_pub_key(fname)
于 2009-08-25T10:44:31.367 に答える