Ubuntu 17.04 netty-tcnative ALPN не доступный для JDK механизм SSL/TLS

У меня есть JAVA-приложение (runnung под Java Oracle, но та же проблема происходит с OpenJDK), который использует netty-tcnative. Это работает без проблемы о macOS, но когда я пытаюсь выполнить его на Ubuntu 17.04, я получаю следующее исключение:

SEVERE: ALPN not available for JDK SSL/TLS engine
io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engine
    at io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:89)
    at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:150)
    at io.vertx.grpc.VertxChannelBuilder.build(VertxChannelBuilder.java:148)
    at uk.ashleybye.grpc.tls.Client.start(Client.kt:22)
    at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:111)
    at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434)
    at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:337)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:445)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
    at java.lang.Thread.run(Thread.java:748)

netty-tcnative требует openssl >= 1.0.2 и Apache Портативное Время выполнения. Я имею:

$ openssl version
OpenSSL 1.0.2g  1 Mar 2016

$ apt show libapr1
Package: libapr1
Version: 1.5.2-5

Насколько я могу установить, корректное местоположение библиотеки для libapr /usr/lib/x86_64-linux-gnu:

$ dpkg -L libapr1
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.2
/usr/share
/usr/share/doc
/usr/share/doc/libapr1
/usr/share/doc/libapr1/changelog.Debian.gz
/usr/share/doc/libapr1/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libapr1
/usr/lib/x86_64-linux-gnu/libapr-1.so.0

И я попытался добавить библиотеку к LD_LIBRARY_PATH (как упомянуто здесь) путем создания /etc/ld.so.conf.d/libapr.conf и добавление /usr/lib/x86_64-linux-gnu. Выполнение sudo ldconfig, и тем не менее ничто. Даже добавление его к стандартному пути ничего не делает.

Насколько я могу сказать, я следовал всем инструкциям, но это все еще не работает. То, что больше смущает, - то, что это хорошо работает на другой ОС. Это ничего не стоит это netty-tcnative требует платформы определенные двоичные файлы, которые я обнаруживаю использование Google osdetector плагин для gradle. Это обнаружило двоичный файл Linux. Однако, даже если я использую netty-tcnative-boring-static Я все еще получаю то же исключение. Переключение присваивает версию, не помогает ни одному (хотя 2x версия не работала на maxOS, но использовании 1.1.33. Fork26 делает). Я даже установил libnetty-tcnative-java и -jni пакеты из Кв., но все еще никакого успеха.

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

1
задан 30 June 2017 в 22:35

0 ответов

Другие вопросы по тегам:

Похожие вопросы: