While looking deeper into my issue, explained atg gRpc with TLS Client Authentication using SunPKCS11 in netty fails, I changed the version of netty-tcnative-boringssl. The cange in my build.gradle was from
compile 'io.netty:netty-tcnative-boringssl-static:1.1.33.Fork26'
to
compile 'io.netty:netty-tcnative-boringssl-static:+'
resulting in:
+--- io.netty:netty-tcnative-boringssl-static:+ -> 2.0.1.Final
I did this, because according to netty's javadoc SslContextBuilder's
keyManager(KeyManagerFactory factory)
method also works for OpenSSL as provider, which it does not for version 1.1.33.Fork26.
Now, with the new version the slf4j debug output of netty tells me:
[main] DEBUG io.netty.handler.ssl.OpenSsl - netty-tcnative not in the classpath; OpenSslEngine will be unavailable
So the detection of netty-tcnative seems to fail. Debugging into
io.netty.handler.ssl.OpenSsl
's static code block,
the detection fails, because
Class.forName("org.apache.tomcat.jni.SSL", false, OpenSsl.class.getClassLoader());
throws an exception. Do I do something wrong, or is this some resurgence of lat years issues (https://github.com/relayrides/pushy/issues/303 and https://github.com/netty/netty-tcnative/issues/136)? // working on 64 bit Win 10 with Oracle Java 1.8.21