Мы используем пакеты RPM для развертывания нашего продукта в среде наших клиентов. Чтобы сделать RPM полностью автономным, мы персонализируем RPM в соответствии с условиями конкретного клиента. Таким образом, клиенту необходимо установить RPM, не следуя никакому мастеру для редактирования файлов конфигурации.RPM - изменение пакета после подписания
Моя проблема заключается в следующем: Подписываем пакет RPM перед его персонализацией. Процесс персонализации включает добавление информации в файл RPM (без добавления заголовков RPM, просто добавления необработанных данных). Эта модификация (естественно) нарушает подпись пакета.
Что я ищу - это трюк, позволяющий мне модифицировать файл, не нарушая подпись.
Вот что я пытался до сих пор:
- «ведущая» часть пакета содержит зарезервированные байты, которые могут быть использованы, но очень ограничен в размерах и не масштабируется.
- Добавление расширенных атрибутов файла - очень проста в использовании, но атрибуты исчезают при копировании файла (для сохранения атрибутов существуют специальные флажки, но мы не можем обеспечить их использование).
- Мы подумали о том, чтобы вставить фиктивный заголовок в RPM и обмануть код RPM, чтобы не проверять его, но не знаете, как это сделать.
- Подписание пакета ПОСЛЕ того, как была выполнена персонализация - также не масштабируема, потому что это означает, что нам нужно подписать пакет для каждого клиента, а не только один раз.
Обратите внимание, что я знаю, что подпись должна предотвращать изменение содержимого файла (он ведет себя так, как ожидалось). Тем не менее, я действительно не хочу изменять данные RPM , просто добавьте дополнительную информацию в файл.
Любые идеи?
Спасибо!
Кто бы ни опросил мой вопрос - это действительно нецелесообразно, чтобы просто downvote, не давая никаких оправданий. У моего вопроса создается впечатление, что до начала исследования не проводилось никаких исследований? – kernelony