2011-12-29 10 views
2

私はそのサーバーの必要な公開鍵を持つサーバーからファイルを解読しようとしています。キーリングにはパスワード保護機能があります。そのため、ファイルを復号化しようとすると、パスフレーズの入力を求められます。gpgmeを使用してファイルを解読しているときに、ピンエントリー(パスフレーズ画面)をバイパスする方法

私たちがファイルの復号化を試みるときにパスワードを渡すことによって、そのパスフレーズをバイパスする方法はありますか?

パスフレーズが600秒のデフォルト時間にキャッシュされ、何らかの理由でmax-cache-ttlを設定できない(私にはうまくいかなかった、私はyを知らない)、そのためにのみ利用可能であるgpg-agentを使用しているセッション。

今私はgpg-preset-passphraseを使用しているパスフレーズをキャッシュします。 .gnupg/gpg-agent.confにgpg-preset-passphrase --preset hexと設定しました。私はこれで何が欠けているのか分かりません。

は誰か私はこの

おかげ

+0

これを見てください:http://stackoverflow.com/questions/1867757/using-passphrase-callback- in-ruby-gpgme –

+0

Sergeiありがとう、私はそれを通過しましたが、それは私を助けませんでした。私は彼がハッシュとしてパスフレーズを渡すのが好きだったのと同じことをしていますが、うまくいきませんでした。それでもパスフレーズ画面がポップアップしています! – kill007

+0

受諾された回答をお読みになりましたか?ディレクトリと環境について言及しています。それもやってみましたか? –

答えて

3

で行方不明です何を教えてくださいすることができます私は、パスフレーズまたはpinentry画面をバイパスすることができませんが、私はキャッシュ時間を設定するdefault-cache-ttlようgpg-agentオプションを使用していました。 2回目の試みから、ピンポンはキャッシュされたパスフレーズを取得し、タイマーをdefaul-cache-ttlにリセットします。

max-cache-ttlオプションがもう1つあります。キャッシュされたパスフレーズを正常に取得してdefault-cache-ttlをリセットした後でも、このオプションはタイマーを変更せず、設定されたタイムアウト後にキャッシュされたパスフレーズを期限切れにします。

例:両方を10時間(つまり36000秒)設定した場合、5時間後に復号化を呼び出すと、デフォルトでタイマがリセットされ、今は10時間もかかります。しかし、最大値は最初の10時間後に期限切れになり、10時間後にキャッシュされたパスフレーズが削除されます。

私が見つけたもう1つの問題は、gpg-agentによるセッションの問題です。つまり、新しいセッションを開いて解読しようとすると、このセッションでgpg-agentのエラーが発生することはありません。私はいくつかのシェルスクリプトを書き、bashrcに入れて、新しいセッションが始まるとすぐに起動します。

+0

バンプ!!! default-cache-ttlオプションは、max-cache-ttlオプションを伴います。それ以外の場合、max-cache-ttlのデフォルトは2時間であるため、パスフレーズは2時間後に期限切れになります。さらに、default-cache-ttlは2時間以上設定されます。 max-cache-ttlが設定された後であっても、キャッシュを期限切れにしたくない、すなわちdefault-cache-ttlを定義する方法はありますか? – kill007

関連する問題