NoSuchAlgorithmException: DH KeyPairGenerator не доступен на camel-ftp - PullRequest
0 голосов
/ 28 сентября 2018

Я использую Apache Camel в проекте, и когда мне нужно было использовать компонент camel-ftp для отправки некоторых файлов на удаленный сервер, я получил следующее исключение:

com.jcraft.jsch.JSchException: Session.connect: java.security.NoSuchAlgorithmException: DH KeyPairGenerator not available

Я былинтересно, почему это могло произойти в моем проекте.Итак, я запустил небольшой небольшой проект только с компонентами camel-core и camel-ftp, и я вставил туда маршрут, и он отлично работал.

 from("file:data/input?noop=true")
    .log("Uploading file ${file:name}")
    .to("sftp://www.mydestination.com:22/../opt/tmp?autoCreate=false&username=MyUser&password=MyPassword&passiveMode=true")
    .log("Uploaded file ${file:name} complete.");

Я использую Apache Karaf для запуска OSGI Bundles(мое приложение является одним из них).Я проверил в разных средах, но результат все еще был исключением.

Я действительно не знаю, что это может быть.У кого-нибудь есть идеи о том, что может быть причиной этого?

1 Ответ

0 голосов
/ 29 сентября 2018

DH KeyPair Generator обычно является частью JRE / JSE и должен быть включен, если ваш JDK (> Кстати, какую именно версию JDK вы используете?).Учитывая это, ваша ошибка, вероятно, из-за неправильного пути к классу.

Я предлагаю вам проверить значение свойства "-Djava.ext.dirs" (и содержимое соответствующих папок), например:

Windows: java -Djava.ext.dirs = "C: \ Program Files \ Java \ jdk1.6.0_07 \ jre \ lib \ ext; C: \ dir2"

Unix: java -Djava.ext.dirs = $ JAVA_HOME / jre / lib /ext: / dir2

Вам также нужно указать / изменить провайдера безопасности Karaf, посмотрите: https://karaf.apache.org/manual/latest/security

...