emacs EasyPGは、epa-file-encrypt-toがすでに指定されているにもかかわらず、使用するキーを尋ねます


2

シナリオ:EasyPGでemacsを使用して、ファイルの暗号化と復号化を自動化します。test.gpgという空のファイルを開きます。次に、次のテキストをファイルに貼り付けます

;; -*-epa-file-encrypt-to:( "itsme@mydomain.org")-*-
this-is-a-test、このテストでは任意のテキストが使用されます

次に、ファイルの保存に進みます。Emacsは、暗号化に使用するキーを選択することになっている* Keys *というバッファーを開くことで応答します。しかし、上記のように、マニュアルに規定されている構文を使用して、すでにキー仕様( "itsme@mydomain.org")をバッファーに挿入しました。そして、目的のキーを見つけて選択するために他のバッファを手動で検索しなければならないのは面倒です。

EasyPGが保存時にキー仕様をチェックしないのはなぜですか?簡単な回避策はありますか?

回答:


1

M-x normal-modeファイルを保存する直前に、file-local-variable-prop-lineのローカル変数を解析および設定するRun を実行します。同等ですが、実行するにはあまり便利ではありません(setq-local epa-file-encrypt-to '("itsme@mydomain.org"))

これが完了すると、キーを選択するように求められることなく保存できるはずです。


それは機能します、ありがとう!
撤回

0

次の回避策:

  1. -gpg 以外の拡張子でファイルを保存します(またはファイル名拡張子をまったく付けません)。

  2. コンソールウィンドウで「gpg -e filename」を実行します。鍵仕様(電子メールアドレス)を1回入力する必要があります。これにより、「filename .gpg」が作成されます。暗号化されていないファイルを削除することを忘れないでください。

その後、暗号化されたファイルをEmacsで開くことができます。パスフレーズの入力を求められます。そして、変更を保存するとき、「epa-file-encrypt-to」が考慮されます。


確かに動作しますが、;; - - EPA-ファイル暗号化-に:(「itsme@mydomain.org」) - -構築物は、1を手動で外部ファイルをencryotする必要はありませんということです。
reikred

はい、いいえ;)どうやら、epa-file-encrypt-toはファイルの保存時に暗号化を強制するためでなく(.gpg拡張子と関連モードがそれを行います)、適切な暗号化キーを選択するためです。ファイルを暗号化し、ラインが欠落している、あなたがします(変数をカスタマイズしなかった場合に暗号化するために、キーの入力を求められepa-file-encrypt-to、それには、コメント行に代わるものです)。
jvb

私はそれをバグと呼びます。EasyPGが値を使用しない場合、ファイルでキー名を指定するポイントは一体何でしょうか?意味がありません。
撤回

変数が暗号化を「強制する」ためだと主張しているわけではありません。テストケースファイルの名前がtest.gpgであることに注意してください。変数は、使用するキーの選択を自動化するためのものであると主張しています。今は、現在の動作をバグと呼びます。EasyPGが値を使用しない場合、一体何がファイルにキー名を指定するのでしょうか?意味がない。ところで、epa-file-encrypt-toがそうでない場合は、保存時にバッファからローカル変数を再読み込みするために(hack-local-variables)を呼び出すいくつかのコードでepa-file.el.gzをハックして再コンパイルしようとしました設定しましたが、正しく設定できませんでした。
撤回
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.