(Saya mengerti implikasi keamanan berikut ini, dan saya setuju dengan mereka.)
Saya memiliki satu file terenkripsi dalam direktori org saya diary.org.gpg
,. Saya tidak pernah melakukan konfigurasi khusus untuk berfungsi, masih
- Setiap kali saya mengunjungi file, saya diminta untuk memasukkan kata sandi enkripsi. Bagus sekali.
- Setiap kali saya menyimpan buffer, saya diminta kata sandi lagi dua kali. Itu masalah saya .
Perhatikan bahwa saya belum mengonfigurasi apa pun agar ini berfungsi, jadi jawaban apa pun mengenai agen atau keyrings harus disertai dengan petunjuk konfigurasi.
Saya berpikir untuk membuat kata sandi tertulis di suatu tempat di dalam file (di header atau komentar akhir file). Kemudian, setiap kali saya menyimpan, Emacs bisa membaca kata sandi di buffer dan menggunakannya daripada meminta saya. Tetapi ketika saya mulai melihat ini, saya benar-benar tersesat di suatu tempat di dalam epa.el
.
T: Bagaimana saya bisa mengirim kata sandi langsung dari Emacs ke sistem / proses enkripsi saat menyimpan buffer, alih-alih diminta?
Semua yang lain (menemukan kata sandi di buffer) saya bisa mencari tahu sendiri. Saya baru saja tersesat ketika mencoba memahami bagaimana Emacs berinteraksi dengan gpg.
Perhatikan bahwa saya menggunakan Ubuntu, Arch Linux, dan Windows. Itulah sebabnya ide pertama saya adalah solusi emacs-centric.
Saya dapat hidup dengan solusi yang tidak berfungsi pada Windows, selama saya masih dapat mengakses file di dalamnya dengan cara manual.
sumber
gpg-agent
adalah sama denganssh-agent
hanya menyimpan kata sandi yang Anda miliki, setelah Anda mengaktifkannya. Jadi Anda tidak akan dimintai kata sandi saat Anda membuka file, atau ketika Anda menyimpannya (selama agen mengingat kata sandi), tapi saya tidak berpikir ini meluas ke frasa sandi, yang agak bodoh , jika benar.gpg-agent
benar, sehingga cache kunci untuk sementara waktu? :)Jawaban:
Enkripsi menggunakan kata sandi + kunci
Ini tidak menyimpan kata sandi secara langsung dalam file tetapi melakukan sesuatu yang serupa tanpa risiko keamanan dan membantu Anda mencapai apa yang Anda inginkan.
Anda perlu menggunakan enkripsi asimetris sehingga kata sandi Anda dikaitkan dengan ID email dalam keyring .
Simpan di bawah ini di bagian atas file .gpg Anda
Kata sandi diminta saat pertama kali file disimpan / dibuat. Tetapi setelah itu kata sandi diminta hanya sekali setiap kali Anda membuka file yang disimpan
Satu-satunya tangkapan adalah bahwa Anda tidak boleh kehilangan file keyring yang disimpan
~/.gnupg/
secara default.Pengaturan GPG
Pengaturan Emacs
Tidak ada pengaturan yang perlu dilakukan untuk ini dalam emacs.
Pengaturan sistem
Tetapi Anda perlu memiliki lingkungan sistem Anda siap dengan beberapa perpustakaan untuk fitur GPG untuk bekerja.
Pada saat menyiapkan ini, saya harus menginstal yang berikut:
Saya membutuhkan satu atau dua perpustakaan di atas dan saya akhirnya menginstal yang lain karena mereka adalah dependensi wajib atau opsional.
Setelah semuanya terinstal, lakukan
Dan buat kunci yang tidak pernah kedaluwarsa untuk diri Anda sendiri dan kaitkan dengan nama dan email asli Anda.
Kunci yang dihasilkan akan disimpan di
~/.gnupg/
direktori Anda .Mengubah lokasi keyring
Anda dapat mengubah lokasi keyring dengan mengubah
$GNUPGHOME
, menggunakan--homedir
atau--keyring
opsi untukgpg
.Dari
man gpg
:Menggunakan GPG dengan emacs
Di emacs, Anda cukup membuat file dengan
.gpg
ekstensi. Misalnya, jika file tersebut asliauth.el
, Anda akan mengganti nama menjadiauth.el.gpg
.Tempatkan baris ini di bagian atas file:
Perhatikan bahwa saya telah menggunakan karakter komentar elisp
;;
seperti contoh file di siniauth.el.gpg
.Gunakan alamat email persis yang Anda gunakan pada saat pembuatan kunci.
Saat Anda mencoba menyimpannya, emacs akan menampilkan prompt ini di buffer:
Arahkan titik ke garis yang berisi kunci, tekan
m
.Arahkan titik ke
[OK]
tombol dan tekan<return>
.Anda sekarang dapat menyimpan file dan membunuh buffer file itu.
Lain kali ketika Anda membuka file .gpg itu, Anda akan diminta untuk memasukkan kata sandi sekali saja dan kemudian penyimpanan yang berurutan akan bebas kata sandi.
Info lebih lanjut
sumber
Ternyata yang harus saya lakukan adalah
Solusi ini berfungsi pada Linux dan Windows, dan merupakan bantuan Ted dan Michael di help-gnu-emacs.
sumber
epa-file-cache-passphrase-for-symmetric-encryption
: "Perhatikan bahwa opsi ini tidak berpengaruh jika Anda menggunakan GnuPG 2.0."