(Entiendo las implicaciones de seguridad de lo siguiente, y estoy bien con ellas).
Tengo un solo archivo cifrado en mi org, diary.org.gpg
. Nunca hice ninguna configuración especial para que funcione, aún
- Cada vez que visito el archivo, se me solicita la contraseña de cifrado. Lo cual es genial.
- Cada vez que guardo el búfer, se me solicita la contraseña nuevamente dos veces. Lo cual es mi problema .
Tenga en cuenta que no he configurado nada para que esto funcione, por lo que cualquier respuesta con respecto a agentes o llaveros tendrá que venir con instrucciones de configuración.
Pensé en mantener la contraseña escrita en algún lugar dentro del archivo (en el encabezado o en los comentarios al final del archivo). Luego, cada vez que guardo, Emacs podría leer la contraseña en el búfer y usarla en lugar de preguntarme. Pero cuando comencé a investigar esto, me perdí por completo en algún lugar dentro epa.el
.
P: ¿Cómo puedo enviar una contraseña directamente desde Emacs al sistema / proceso de cifrado al guardar el búfer, en lugar de que se me solicite?
Todo lo demás (encontrar la contraseña en el búfer) puedo resolverlo yo mismo. Me perdí al tratar de entender cómo Emacs interactuaba con gpg.
Tenga en cuenta que estoy en Ubuntu, Arch Linux y Windows. Por eso mi primera idea fue una solución centrada en emacs.
Puedo vivir con una solución que no funciona en Windows, siempre que pueda acceder al archivo de forma manual.
fuente
gpg-agent
es que es similar assh-agent
solo almacenar las contraseñas que tiene, una vez que lo activa. Por lo tanto, no se le pedirá la contraseña ni cuando abra un archivo, ni cuando la guarde (siempre que el agente recuerde la contraseña), pero no creo que esto se extienda a la frase de contraseña, que es un poco tonta , si es verdad.gpg-agent
correctamente, de modo que guarde en caché la clave por un tiempo? :)Respuestas:
Cifrado con contraseña + clave
Esto no guarda la contraseña directamente en el archivo, pero hace algo similar sin ningún riesgo de seguridad y lo ayuda a lograr lo que desea.
Debe usar cifrado asimétrico para que su contraseña esté asociada con una ID de correo electrónico en un llavero .
Guarde el siguiente en la parte superior de su archivo .gpg
La contraseña se solicita la primera vez que se guarda / crea el archivo. Pero después de eso, la contraseña se solicita solo una vez cada vez que abre el archivo guardado
El único inconveniente es que no debe perder el archivo de llavero que se guarda
~/.gnupg/
de forma predeterminada.Configuración GPG
Configuración de Emacs
No es necesario realizar ninguna configuración para esto en emacs.
Configuración del sistema
Pero debe tener el entorno de su sistema listo con pocas bibliotecas para que funcione la función GPG.
En el momento de configurar esto, tuve que instalar lo siguiente:
Necesitaba una o dos de las bibliotecas anteriores y terminé instalando las otras porque eran dependencias obligatorias u opcionales.
Una vez que todo esté instalado, haz
Y genere una clave que nunca caduque para usted y asóciela con su nombre real y correo electrónico.
La clave generada se guardará en su
~/.gnupg/
directorio.Cambiar la ubicación del llavero
Puede cambiar la ubicación del llavero cambiando
$GNUPGHOME
, usando--homedir
u--keyring
opciones paragpg
.De
man gpg
:Usando GPG con emacs
En emacs, simplemente crea un archivo con una
.gpg
extensión. Por ejemplo, si el archivo era originalmenteauth.el
, debería cambiarle el nombreauth.el.gpg
.Coloque esta línea en la parte superior del archivo:
Tenga en cuenta que he usado los caracteres de comentario de elisp
;;
como el archivo de ejemplo aquíauth.el.gpg
.Utilice la dirección de correo electrónico exacta que utilizó en el momento de la generación de claves.
Cuando intente guardarlo, emacs mostrará este mensaje en un búfer:
Navegue el punto a la línea que contiene la clave, presione
m
.Navega por el punto hasta el
[OK]
botón y presiona<return>
.Ahora puede guardar el archivo y eliminar ese búfer de archivo.
La próxima vez que abra ese archivo .gpg, se le pedirá la contraseña solo una vez y luego los archivos guardados consecutivos estarán libres de contraseña.
Más información
fuente
Resulta que todo lo que tenía que hacer era
Esta solución funciona tanto en Linux como en Windows, y es una cortesía de Ted y Michael en help-gnu-emacs.
fuente
epa-file-cache-passphrase-for-symmetric-encryption
: "Tenga en cuenta que esta opción no tiene efecto si usa GnuPG 2.0".