Справочная информация
Я использую Karaf 4.2.0 на RHEL 6 с последней доступной Oracle JDK 1.8.x.
В целях безопасности я пытаюсьнайти лучший способ проверить целостность пакетов, обслуживаемых компанией Karaf.Текущий подход, который я использую, состоит в том, чтобы вычислить SHA1-хэши всех файлов bundle.jar, найденных в $KARAF_HOME/data/cache/bundle*/version0.0/
, и сравнить их с теми, которые я развернул в другом экземпляре Karaf в другой среде.
Сама установкаполностью автоматизирован и работает каждый раз.Перед началом развертывания сначала останавливается Karaf, затем очищаются папки data/cache
, data/tmp
и data/kar
, снова запускается Karaf, и развертывание выполняется в два этапа:
Установите толстый KAR, который охватывает все сторонние пакеты, необходимые для запуска моего приложения, с помощью: kar:install
Установите мои пакеты приложений через файл функций Karaf, размещенный в частном экземпляре Artifactory.вместе с ссылками на пакеты, с: feature:repo-add -i
Проблема
При каждом развертывании сторонние пакеты в папке data/cache/
имеют разные хэши SHA1, даже если содержимое JAR идентично (проверяется путем их распаковки и запуска рекурсивного сравнения).Более того, SHA1 не совпадает с Maven Central.Похоже, что Караф переупаковывает JAR-файлы в процессе обслуживания их с data/cache
, что делает разницу в суммах SHA1.
Для моих собственных пакетов приложений их хэши SHA1 согласованы между повторными развертываниями приложений (а такжеразвертывания одного и того же файла функций в разных средах), но всегда отличаются от тех, что установлены на моем частном сервере Artifactory.
Есть ли способ обойти / исправить эту проблему несовместимой целостности для пакетов, обслуживаемых из data/cache
Карафа?