2011-08-10 2 views
7

対称暗号化/復号化プロセスを実行するために、GPG(現在はv 1.4.10)を使用しているカスタムソフトウェアを将来的に保護しようとしています。私の現在の暗号化コマンドは次のようになります。--no-use-agentオプションを指定しないgpg-agent in gpg2

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

、私は悪名高いエラーメッセージ

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

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

この詳細レベルのドキュメントは疎であるため、私はユーザーエクスペリエンスを探しています。 gpg2はエージェントをより緊密に組み込んでいるので、その可用性について心配する必要はありませんか?出力ファイルpath/to/file_to_be_encrypted.gpgが既に存在する場合

+0

あなたはsinharajの答えを受け入れる必要があります。彼はあなたに知っておく必要があるすべてを与えました。 – rsaw

答えて

6
  1. あなたがgpg2を呼び出す方法は、それが失敗する可能性があります。あなたは、ファイルが上書きされるようにしたい場合は、あなたが--yesオプションを提供する必要があります(あなたが行うように)あなたは対称暗号化を使用している場合は

    gpg2 --batch --yes --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted 
    
  2. を、に設定した場合でもパスフレーズ制約は(でを施行しましたgpg-agent)は一切適用されません—これはうまくいくでしょう。

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

    次に、あなたのコマンドは、まだ成功する:

    gpg-agentがこのように実行(およびmypasswordsファイルも正確にあなたのパスワードと一致禁止パターンを含んでいましょう)だったと言います。要するに

    gpg-agentは(それはあなたが説明できない、間違った構成や不足している実行ファイルのようないくつかの理由—、のためのgpgをクラッシュしない限り)それが失敗することはありません。

    EDIT:私はちょうどチェックしたと対称モードのgpg2で作業 GPG-エージェントが誤ってまたはを設定されている場合でも、GPG-エージェントの実行可能ファイルが欠落しています場合。

    gpg-agentが見つからないときに秘密鍵のパスワードを変更しようとすると、またはが正しく設定されていないと、gpg2は警告を表示します。新しいパスフレーズを尋ねたり、作業を続行したりすることはありません。

出典: