Tip: Como usar gpg sin que solicite contraseña.

Habemos muchas personas que recibimos demasiados archivos cifrados como para darnos el lujo de procesarlos a mano y perder la mitad del día. Gpg puede leer la contraseña o passphase de tu llave privada desde la entrada estandar usando tuberias. Para no hacerte el cuento largo, aquí esta como:
Supongamos que la passphrase/password/contraseña (como le quieras llamar) de tu llave privada de gpg es:hola1234 y supongamos que el conocido “Juan Perez” te envia 100 archivos cifrados con tu llave pública con un nombre parecido a este: Archivo001.gpg, Archivo002.gpg … Archivo100.gpg, para descifrarlos todos necesitas hacer lo siguiente:
Yo escogí el interprete bash para este script pero tambien puedes usar perl o algún otro lenguaje:
#!/bin/bash PASSPHRASE="hola1234"
for i in `ls Archivo???.gpg` do NOMBRE=`basename $i .gpg`.txt echo "Descifrando:$i Nuevo archivo:$NOMBRE" echo $PASSPHRASE | gpg --batch -o $NOMBRE --passprase-fd 0 --decrypt $i done
La opción –batch evita que gpg pregunte o que ejecute ordenes interactivas. La opción -o es “output” y necesita un argumento que será el nombre del archivo resultante. La opción –passphrase-fd 0 hace que gpg lea su passphrase desde el descriptor de archivos “0″ mejor conocido como la entrada estandar. Finalmente la opción –decrypt necesita que le pases como argumento el archivo cifrado con tu llave pública.
En la linea que dice: NOMBRE= … yo use la extensión .txt pero puedes usar la que mejor te convenga.
