1

このモジュールを使用して PGP ファイルを復号化しようとしています: http://packages.python.org/python-gnupg/

ここに私のコードスニペットがあります:

#!/usr/bin/python

import gnupg

gpg = gnupg.GPG(gnupghome='C:\\Users\\GSquire\\Desktop\\GnuPG',
                                gpgbinary='C:\\Users\\GSquire\\Desktop\\GnuPG\\pub\\gpg.exe',
                                keyring='C:\\Users\\GSquire\\Desktop\\GnuPG\\secring.skr')

with open('.\\tranx08022012.txt.pgp', 'rb') as f:
    status = gpg.decrypt_file(f, passphrase='passphrase', output='out.txt')

モジュールの最新バージョンと Python 2.6.6 を使用しています。安全なリングファイルを使用して復号化できると思ったのは、それが明らかにファイルに必要だからです。スクリプトを実行すると、次のように出力されます。

ok: False
status:
stderr:
gpg: expected public key but found secret key - must stop

安全なキーがファイルを復号化するというのは本当ですか? 助けてくれてありがとう!

4

1 に答える 1

0

keyring取得しているエラーは、パラメーターで秘密鍵リングのファイル名を渡しているためです。そのパラメーターは、公開鍵リング専用です。残念ながら、秘密鍵リング ファイルを指定する代替パラメーターはないようです。

デフォルトでは、GnuPG は指定secring.gpgしたgnupghomeフォルダーで秘密鍵を探すので、おそらく秘密鍵ファイルの名前を変更して機能させることができます。

于 2012-08-03T18:13:58.470 に答える