
Mi objetivo es crear una forma automatizada de cifrar/descifrar algunos archivos usando openssl. Lo que tengo actualmente son las claves públicas de los destinatarios (en formato PEM) y los datos reales que necesito distribuir.
Básicamente, quiero crear un encrypt
script que tome los datos y las claves públicas y cree algo, lo distribuyo y los destinatarios ejecutan un decrypt
script y obtienen los datos. Con un destinatario, esto es bastante fácil (tenga en cuenta que tiene que ser un script automatizado para el descifrado; simplemente pedirle a cada destinatario que descifre los datos manualmente no es suficiente). Con múltiples destinatarios... surgen problemas.
Tengo 2 enfoques en mente, los cuales no cumplen con mis requisitos:
El
encrypt
script crea un archivo cifrado para cada clave pública, el conjunto completo de archivos cifrados se distribuye y eldecrypt
script los recorre todos e intenta descifrarlos utilizando la clave privada del usuario. Este enfoque funciona, pero el problema es que el usuario necesita ingresar su contraseña en cada intento (no demasiado automatizado). La solución sería encontrar una manera de verificar si el archivo se puede descifrar usando la clave privada proporcionada y, de ser así, proceder a descifrarlo o evitar de alguna manera preguntar cada vez por la frase de contraseña (tal vez algo como ssh-agent).Encuentre una manera de cifrar el archivo utilizando todas las claves públicas para que todos puedan descifrarlo.