9

GPG (現在は v 1.4.10) を使用して対称暗号化/復号化プロセスを実行するカスタム ソフトウェアの将来を保証しようとしています。現在の暗号化コマンドは次のようになります。

gpg --batch --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted

--no-use-agentオプションを指定しないと、悪名高いエラー メッセージが表示される

このセッションでは gpg-agent を使用できません

ドキュメンテーションによると、gpg-agent は常に必要であり、--no-use-agent単にダミーのオプションであるため、gpg2 への移行が心配です。私の gpg 呼び出しはデーモン プロセスを介してバックグラウンドで発生するため、これは非常にエージェントのないシナリオです (さらに、対称的であり、エージェントはまったく必要ありません)。

このレベルの詳細なドキュメントはまばらなので、ユーザー エクスペリエンスを探しています。gpg2 はエージェントをより緊密に組み込んでいるので、その可用性について心配する必要はありませんか?

4

1 に答える 1

6
  1. 呼び出す方法gpg2では、出力ファイルpath/to/file_to_be_encrypted.gpgがすでに存在する場合は失敗する可能性があります。ファイルを上書きする場合は、次の--yesオプションを指定する必要があります。

    gpg2 --batch --yes --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted
    
  2. 対称暗号化を使用している場合(使用しているように)、パスフレーズ制約は(によって強制されるように設定されている場合でもgpg-agent)まったく適用されず、機能するだけです。

    がこのようgpg-agentに実行されたとしましょう(そして、mypasswordsファイルにパスワードと完全に一致する禁止パターンが含まれるようにします):

    eval $(gpg-agent --daemon --enforce-passphrase-constraints --min-passphrase-len 8 --min-passphrase-nonalpha 4 --check-passphrase-pattern mypasswords)
    

    その後、コマンドは引き続き成功します。

    要するに:gpg-agent失敗することはありません(間違った構成や実行可能ファイルの欠落など、何らかの理由でgpgがクラッシュしない限り)

    編集:チェックしたところ、対称モードでは、gpg-agentが正しく構成されていない場合、gpg-agent実行可能ファイルがない場合でもgpg2は機能します。

    これは関係ありませんが、念のために:gpg-agentが見つからないか、正しく構成されていないときに秘密鍵のパスワードを変更しようとするとどうなるかを確認しました:gpg2は警告を報告し、新しいものを要求することさえしませんパスフレーズを入力して、作業を続けます。

出典:

于 2011-08-19T13:54:03.523 に答える