(Je comprends les implications de sécurité des éléments suivants, et je suis d'accord avec eux.)
J'ai un seul fichier crypté dans mon répertoire org, diary.org.gpg
. Je n'ai jamais fait de configuration spéciale pour que ça marche, toujours
- Chaque fois que je visite le fichier, je suis invité à entrer le mot de passe de cryptage. Qui est genial.
- Chaque fois que j'enregistre le tampon, on me demande à nouveau le mot de passe deux fois. Quel est mon problème .
Notez que je n'ai rien configuré pour que cela fonctionne, donc toutes les réponses concernant les agents ou les trousseaux de clés devront venir avec des instructions de configuration.
J'ai pensé à conserver le mot de passe écrit quelque part à l'intérieur du fichier (dans l'en-tête ou les commentaires de fin de fichier). Ensuite, chaque fois que j'enregistre, Emacs peut lire le mot de passe dans le tampon et l'utiliser au lieu de me le demander. Mais quand j'ai commencé à regarder cela, je me suis complètement perdu quelque part à l'intérieur epa.el
.
Q: Comment envoyer un mot de passe directement d'Emacs au système / processus de chiffrement lors de l'enregistrement du tampon, au lieu d'être invité à le faire?
Tout le reste (trouver le mot de passe dans le tampon), je peux me comprendre. Je me suis juste perdu en essayant de comprendre comment Emacs était interfacé avec gpg.
Notez que je suis sur Ubuntu, Arch Linux et Windows. C'est pourquoi ma première idée était une solution centrée sur emacs.
Je peux vivre avec une solution qui ne fonctionne pas sur Windows, tant que je peux toujours accéder au fichier dessus de manière manuelle.
la source
gpg-agent
est qu'il s'agit dessh-agent
stocker les mots de passe que vous avez, une fois que vous les activez. Donc, vous ne serez pas invité à entrer le mot de passe ni lorsque vous ouvrez un fichier, ni lorsque vous l'enregistrez (tant que l'agent se souvient du mot de passe), mais je ne pense pas que cela s'étende à la phrase secrète, qui est un peu stupide , si vrai.gpg-agent
correctement, afin qu'il cache la clé pendant un certain temps? :)Réponses:
Cryptage à l'aide d'un mot de passe + clé
Cela n'enregistre pas le mot de passe directement dans le fichier mais fait quelque chose de similaire sans aucun risque de sécurité et vous aide à réaliser ce que vous voulez.
Vous devez utiliser un cryptage asymétrique pour que votre mot de passe soit associé à un identifiant de messagerie dans un trousseau de clés .
Enregistrez ce qui suit en haut de votre fichier .gpg
Le mot de passe est demandé la toute première fois que le fichier est enregistré / créé. Mais après cela, le mot de passe n'est demandé qu'une seule fois à chaque fois que vous ouvrez le fichier enregistré
Le seul hic est que vous ne devez pas perdre le fichier de clés qui est enregistré
~/.gnupg/
par défaut.Configuration GPG
Configuration d'Emacs
Aucune configuration n'est nécessaire pour cela dans emacs.
Installation du système
Mais vous devez avoir votre environnement système prêt avec quelques bibliothèques pour que la fonctionnalité GPG fonctionne.
Au moment de la configuration, j'ai dû installer les éléments suivants:
J'avais besoin d'une ou deux des bibliothèques ci-dessus et j'ai fini par installer les autres car il s'agissait de dépendances obligatoires ou facultatives.
Une fois que tout est installé, faites
Et générez vous-même une clé qui n'expire jamais et associez-la à votre vrai nom et à votre adresse e-mail.
La clé générée sera enregistrée dans votre
~/.gnupg/
répertoire.Modification de l'emplacement du trousseau de clés
Vous pouvez modifier l'emplacement du trousseau en modifiant
$GNUPGHOME
, en utilisant--homedir
ou les--keyring
options degpg
.De
man gpg
:Utilisation de GPG avec emacs
Dans emacs, vous créez simplement un fichier avec une
.gpg
extension. Par exemple, si le fichier était à l'origineauth.el
, vous le renommeriezauth.el.gpg
.Placez cette ligne en haut du fichier:
Notez que j'ai utilisé les caractères de commentaires elisp
;;
comme l'exemple de fichier iciauth.el.gpg
.Utilisez l'adresse e-mail exacte que vous avez utilisée au moment de la génération de la clé.
Lorsque vous essayez de l'enregistrer, emacs affichera cette invite dans un tampon:
Naviguez le point jusqu'à la ligne contenant la clé, appuyez sur
m
.Accédez au point jusqu'au
[OK]
bouton et appuyez sur<return>
.Vous pouvez maintenant enregistrer le fichier et tuer ce tampon de fichier.
La prochaine fois que vous ouvrirez ce fichier .gpg, vous serez invité à entrer le mot de passe une seule fois, puis les enregistrements consécutifs seront sans invite de mot de passe.
Plus d'informations
la source
Il s'avère que tout ce que j'avais à faire était
Cette solution fonctionne à la fois sur Linux et Windows, et est une courtoisie de Ted et Michael sur help-gnu-emacs.
la source
epa-file-cache-passphrase-for-symmetric-encryption
: "Notez que cette option n'a aucun effet si vous utilisez GnuPG 2.0."