2011-08-10 9 views
7

Estoy intentando probar en el futuro algún software personalizado que utilice GPG (actualmente v 1.4.10) para realizar simétrico procesos de cifrado/descifrado. Mi orden de corriente de cifrado es el siguiente:gpg-agent en gpg2

gpg --batch --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted 

Sin la opción --no-use-agent, me sale el mensaje de error infame

gpg-agent no está disponible en esta sesión

I Estoy preocupado por un movimiento a gpg2 porque, according to the documentation, siempre se requiere el agente gpg, y --no-use-agent es simplemente una opción ficticia. Mis llamadas gpg ocurren en segundo plano a través de un proceso daemon, por lo que este es un escenario sin agentes (más el hecho de que es simétrico, y no necesito el agente en absoluto).

La documentación en este nivel de detalle es escasa, entonces estoy buscando experiencia del usuario. ¿Gpg2 incorpora el agente más estrechamente, por lo que no tengo que preocuparme por su disponibilidad?

+0

Usted debe aceptar la respuesta de sinharaj. Él te dio todo lo que necesitas saber. – rsaw

Respuesta

6
  1. La forma en que invoca gpg2, podría fallar si el archivo de salida path/to/file_to_be_encrypted.gpg ya existe. Si desea que el archivo se sobrescriba, usted debe proporcionar la opción --yes:

    gpg2 --batch --yes --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted 
    
  2. Cuando se utiliza el cifrado simétrico (igual que lo hace), los limitaciones frase de paso (aunque se establezca cumplir por gpg-agent) no se aplicará en absoluto — simplemente funcionará.

    Diga el gpg-agent se corrió como esto (y dejar que el archivo contiene mypasswords incluso prohibido el patrón que coincide exactamente con su contraseña):

    eval $(gpg-agent --daemon --enforce-passphrase-constraints --min-passphrase-len 8 --min-passphrase-nonalpha 4 --check-passphrase-pattern mypasswords) 
    

    A continuación, el comando todavía tendría éxito.

    En resumen: gpg-agent no va a hacer que falle (a menos de que se estrelle gpg por alguna razón — como configuración incorrecta o faltante ejecutable, que no se puede dar cuenta de).

    EDITAR: acabo de comprobar y en gpg2 modo simétrico se trabajo incluso si gpg-agent está configurado incorrectamente o si el ejecutable agente gpg no se encuentra.

    Esto no está relacionado, pero por si acaso: Yo también verificó lo que sucede cuando se intenta cambiar la contraseña de su clave privada, mientras que gpg-agent falta o está configurado erróneamente: gpg2 reportará una advertencia, se ni siquiera solicite la nueva frase de contraseña y continúe trabajando.

Fuentes: