使用密码和密钥加密
这不会将密码直接保存在文件中,但是会执行类似的操作而没有任何安全隐患,并且可以帮助您实现所需的功能。
-*- epa-file-encrypt-to: ("your@email.address") -*-
首次保存/创建文件时会提示输入密码。但是之后,每次打开保存的文件时,只会提示一次密码
唯一的问题是您一定不能丢失~/.gnupg/
默认保存在其中的密钥环文件。
GPG设定
Emacs安装
在emacs中无需为此进行任何设置。
系统设置
但是,您确实需要为系统环境做好准备,并需要几个库才能使GPG功能正常工作。
在进行此设置时,我必须安装以下内容:
- gpgme-1.5.3
- libgpg-错误-1.17
- libksba-1.3.2
- libassuan-2.2.0
- libgcrypt-1.6.2
- gnupg-2.0.26
- pinentry-0.9.0
我需要上面的一个或两个库,最后我安装了其他库,因为它们是强制性或可选依赖性。
一切安装完成后,执行
> gpg --gen-key
并为自己生成一个永不过期的密钥,并将其与您的真实姓名和电子邮件相关联。
生成的密钥将保存在您的~/.gnupg/
目录中。
更改钥匙圈位置
您可以通过更改$GNUPGHOME
,使用--homedir
或--keyring
选项来更改密钥环的位置gpg
。
来自man gpg
:
--keyring file
将文件添加到当前的密钥环列表。如果文件以波浪号和斜杠开头,则将它们替换为$ HOME目录。如果文件名不包含斜杠,则假定其位于GnuPG主目录中(如果未使用--homedir或$ GNUPGHOME,则为“〜/ .gnupg”)。
请注意,这会将钥匙圈添加到当前列表。如果要单独使用指定的密钥环,请与--no-default-keyring一起使用--keyring。
将GPG与emacs一起使用
在emacs中,您只需创建带有.gpg
扩展名的文件。例如,如果文件是原始文件auth.el
,则可以将其重命名为auth.el.gpg
。
将此行放在文件顶部:
;; -*- epa-file-encrypt-to: ("your@email.address") -*-
请注意,我已使用elisp注释字符;;
作为此处的示例文件auth.el.gpg
。
使用您在生成密钥时使用的确切电子邮件地址。
当您尝试保存它时,emacs将在缓冲区中显示以下提示:
Select recipients for encryption.
If no one is selected, symmetric encryption will be performed.
- `m' to mark a key on the line
- `u' to unmark a key on the line
[Cancel][OK]
u <GPG KEY> <YOUR NAME> (<YOUR GPG KEY NAME>) <<YOUR GPG KEY EMAIL>>
将点导航到包含键的行,点击m
。
将点导航到该[OK]
按钮,然后单击<return>
。
现在,您可以保存文件并杀死该文件缓冲区。
下次打开该.gpg文件时,将仅提示您输入一次密码,然后连续保存将无密码提示。
更多信息