Para abreviar, mi pregunta es: ¿Cómo puedo forzar a GnuPG qué clave privada/pública usar al cifrar/descifrar archivos?GnuPG: ¿Cómo encriptar/desencriptar archivos usando una determinada clave?
algunas explicaciones/Larga historia
tengo una aplicación que debe cifrar los archivos antes de enviarlos a S3.
Los usuarios pueden descargar sus archivos usando sus navegadores desde mi sitio web, en cuyo caso primero debo descifrar los archivos antes de servirlos.
ladoCliente (delphi 2010): Estoy muy probablemente va a optar por OpenPGPBlackbox
lado del servidor (PHP 5), tengo que encontrar la manera de cifrar/descifrar archivos con los comandos no interactivos .
He instalado GnuPG en mi servidor, probamos este código:
clear_file='/full/path/my-file.zip'
encrypted_file='/full/path/my-file.zip.pgp'
# Encrypt file
/usr/bin/gpg2 --encrypt "$clear_file"
# Decrypt file
/usr/bin/gpg2 --decrypt "$encrypted_file"
pero parece que no puedo especificar, en la línea de comandos, que las llaves de su uso.
Cada usuario tendrá su propia clave pública/privada, por lo que necesito poder especificar qué clave utilizar para cifrar/descifrar el archivo en cuestión.
Mi pregunta es: ¿Cómo puedo forzar GnuPG qué clave privada/pública utilizar al cifrar/descifrar archivos?
Gracias, sí, leí la página del manual (y ** me perdí **). Intenté este comando: '/ usr/bin/gpg2 -v --decrypt --default-key" private-1.pgp "/ full/home/my-file.7z.pgp' pero obtuve este' gpg: public la clave es 745ECDED gpg: cifrado con clave RSA, ID 745ECDED gpg: descifrado fallido: sin clave secreta ... cuidado con compartir un comando de ejemplo, por favor? ¡Gracias por adelantado! – TheDude
También utilicé el modificador '--local-user' y el uso de la ruta completa para el archivo de clave privada, pero no ayudó – TheDude
Puede ser que la clave no se encuentre en el llavero. No estoy completamente seguro de si puedes dar la clave de esa manera. Intenta primero importar la clave del llavero con 'gpg --allow-secret-key-import --import private-1.pgp' y luego descifrar con él:' gpg --decrypt my-file.7z.pgp'.Si esto no funciona, prueba desde la línea de comandos, no desde php, para descartar problemas con las variables de entorno, etc. Otra opción es que haya algún problema con el archivo de claves. – Edu