Я пытаюсь использовать движок OpenSSL на HTTP-сервере.
Моя конфигурация выглядит как
HttpServerOptions options = new HttpServerOptions()
.setSsl(config.getSsl())
.setSslEngineOptions(new OpenSSLEngineOptions())
.setClientAuth(ClientAuth.REQUEST)
.setKeyStoreOptions(keystoreOptions)
.setTrustStoreOptions(truststoreOptions)
.setEnabledSecureTransportProtocols(enabledSecureTransportProtocols);
Я использую Vert.x 3.6.2, который приносит зависимости Netty4.1.30.Я также добавил в свой pom:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>2.0.20.Final</version>
<classifier>linux-x86_64-fedora</classifier>
</dependency>
Поскольку мой HTTP-сервер развернут на RHEL 7 с OpenSSL 1.0.1 (я знаю, что он старый).Я получаю следующую ошибку:
io.vertx.core.VertxException: OpenSSL is not available
И, как я вижу из журналов, обработчик netty пытается загрузить эту собственную библиотеку netty-tcnative и не может найти ее впуть к классу:
netty-tcnative not in the classpath; OpenSslEngine will be unavailable
.Я не знаю, как решить эту проблему.