在深入研究我的问题时,atg gRpc with TLS Client Authentication using SunPKCS11 in netty fails解释说,我改变了netty-tc本机-boringssl的版本。“我的build.gradle”中的“怪圈”
compile 'io.netty:netty-tcnative-boringssl-static:1.1.33.Fork26' 至
compile 'io.netty:netty-tcnative-boringssl-static:+'其结果是:
+
我这样做是因为根据netty的javadoc SslContextBuilder's keyManager(KeyManagerFactory factory)方法也适用于作为提供者的OpenSSL,而对于1.1.33.Fork 26版本则不适用。
现在,对于新版本,netty的slf4j调试输出告诉我:
主调试io.netty.handler.ssl.OpenSsl -netty-tc本机不在类路径中;OpenSslEngine将不可用
因此,对netty-tc天生的检测似乎失败了。调试到io.netty.handler.ssl.OpenSsl的静态代码块,检测失败,因为
Class.forName("org.apache.tomcat.jni.SSL", false, OpenSsl.class.getClassLoader());抛出一个异常。我是不是做错了什么,或者这是lat年问题(https://github.com/relayrides/pushy/issues/303和https://github.com/netty/netty-tcnative/issues/136)的某种复苏? //使用OracleJava1.8.21处理64位Win 10?
发布于 2017-06-12 06:05:30
Grpc Java 1.3.0不支持netty版本2.等待和更新到gRPC Java1.4.0完成了任务,因为提交https://github.com/grpc/grpc-java/commit/67eefa69b4009948ac664691e719f683c4478290包含了对netty 2的支持。
https://stackoverflow.com/questions/44201474
复制相似问题