Моя цель - создать автоматизированный способ шифрования / дешифрования некоторых файлов с использованием openssl. В настоящее время у меня есть открытые ключи получателей (в формате PEM) и фактические данные, которые мне нужно распространять.
По сути, я хочу создать сценарий encrypt
, который берет данные и открытые ключи и создает что-то, я распространяю эту вещь, и получатели запускают сценарий decrypt
и получают данные. С одним получателем это достаточно просто (обратите внимание, что это должен быть автоматический скрипт для расшифровки, просто попросить каждого получателя расшифровать вручную, данных недостаточно). С несколькими получателями ... проблемы возникают.
Я имею в виду 2 подхода, оба из которых не соответствуют моим требованиям:
Сценарий
encrypt
создает один зашифрованный файл для каждого открытого ключа, весь набор зашифрованных файлов распространяется, и сценарийdecrypt
выполняет итерацию по всем из них и пытается расшифровать их, используя закрытый ключ пользователя. Этот подход работает, но проблема в том, что пользователь должен вводить свою фразу-пароль при каждой попытке (не слишком автоматизированной). Решение состоит в том, чтобы найти способ либо проверить, можно ли расшифровать файл, используя заданный закрытый ключ, и, если это так, перейти к его расшифровке или избежать какого-либо запроса каждый раз для ключевой фразы (возможно, что-то вроде ssh-agent).Найдите способ зашифровать файл, используя все открытые ключи, чтобы каждый мог его расшифровать.