Bouncycastle: 'JCE не может аутентифицировать провайдера B C' с форматом Spring Boot PropertiesLauncher - PullRequest
0 голосов
/ 14 июля 2020

Я использую следующее для создания исполняемого файла jar. Я использую средство запуска свойств, так как мне нужны дополнительные записи пути к классам (каталог конфигурации). Он работает хорошо, за исключением случаев, когда я пытаюсь расшифровать данные. У меня это

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                  <executable>true</executable>
                  <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

запуск выглядит следующим образом:

java -Dloader.path=/the/config/dir -jar target/folder-service-1.0.0-SNAPSHOT.jar

Похоже, что эта настройка что-то делает с bcprov, как он обнаружен

$ jar tvf folder-service-1.0.0-SNAPSHOT.jar| grep bcp
796532 Fri Jun 29 18:55:18 PDT 2018 BOOT-INF/lib/bcpkix-jdk15on-1.60.jar
329081 Mon Oct 07 10:37:54 PDT 2019 BOOT-INF/lib/bcpg-jdk15on-1.64.jar
4771726 Mon Oct 07 10:28:56 PDT 2019 BOOT-INF/lib/bcprov-jdk15on-1.64.jar

Другой jar отлично работает в формате JarLauncher, но я не могу добавить свою конфигурацию в путь к классам.

Любые подсказки приветствуются

Обновление:

Если Я выполняю распаковку созданного jar-файла и запускаю его с java org.springframework.boot.loader.PropertiesLauncher, он работает нормально. unzip выдает предупреждение о лишних байтах в начале и продолжает расширять архив. jar xvf не будет работать с jar, только разархивируйте. Кажется, что-то вроде формата архива Франкенштейна.

Обновление 2:

Вернуться к упакованной версии (.jar). Я применил исключения к плагину в соответствии с документацией, а затем добавил банку bouncycastle в -Dloader.path. Дело идет дальше, но теперь у меня проблемы с jolokia, а затем с hawtio, которые пытаются получить ресурсы из своих соответствующих jar-файлов. Формат ZIP, кажется, испорчен, возвращая недопустимые jar-файлы.

Что это за штука, эта «исполняемая jar в формате ZIP»?

...