Random guess, but doesn't tcnative need to be a stonger dependency than 
compile?  It needs to be a compile+runtime dependency.

On Thursday, November 1, 2018 at 2:00:22 PM UTC-7, Jaroslav Gorskov wrote:
>
> EDIT: I added a -javaagent JVM argument and pointed it to ALPN. Apparently 
> it should be executed before the jvm main. The question about why doesn't 
> grpc recognize I have OpenSSL available is still open.
>
> чт, 1 нояб. 2018 г. в 16:25, <[email protected] <javascript:>>:
>
>> I want to set-up SSL on my GRPC server. Here is what I'm doing:
>>
>>  File certChain = new File("conf/server.crt");
>>  File privateKey = new File("conf/pkcs8_key.pem");
>>
>>
>>  Server server = NettyServerBuilder.forPort(8080)
>>  .useTransportSecurity(certChain, privateKey)
>>  .addService(new HelloWorldService())
>>  .build();
>>
>> *I am getting following error stack:*
>>
>> Exception in thread "main" java.lang.IllegalArgumentException: Jetty ALPN
>> /NPN has not been properly configured.
>>  at io.grpc.netty.GrpcSslContexts.selectApplicationProtocolConfig(
>> GrpcSslContexts.java:162)
>>  at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:136)
>>  at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:124)
>>  at io.grpc.netty.GrpcSslContexts.forServer(GrpcSslContexts.java:104)
>>  at io.grpc.netty.NettyServerBuilder.useTransportSecurity(
>> NettyServerBuilder.java:404)
>>  at server.MyServer.main(MyServer.java:22)
>> Caused by: java.lang.ClassNotFoundException: org/eclipse/jetty/alpn/ALPN
>>  at java.lang.Class.forName0(Native Method)
>>  at java.lang.Class.forName(Class.java:348)
>>  at io.grpc.netty.JettyTlsUtil.isJettyAlpnConfigured(JettyTlsUtil.java:34
>> )
>>  at io.grpc.netty.GrpcSslContexts.selectApplicationProtocolConfig(
>> GrpcSslContexts.java:153)
>>  ... 5 more
>>
>>
>> *Here is my gradle dependency block:*
>>
>> dependencies {
>>     compile("io.grpc:grpc-netty:1.7.0")
>>     compile("io.grpc:grpc-protobuf:1.7.0")
>>     compile("io.grpc:grpc-stub:1.7.0")
>>  
>>  compile group: 'io.netty', name: 'netty-handler', version: 
>> '4.1.16.Final'
>>  compile group: 'io.netty', name: 'netty-tcnative-boringssl-static', 
>> version: '2.0.6.Final'
>>  compile group: 'com.google.gradle', name: 'osdetector-gradle-plugin', 
>> version: '1.2.1'
>>  
>> }
>>
>>
>> Grpc doesn't think I have OpenSSL as SSLProvider available.
>>   private static SslProvider defaultSslProvider() {
>>     return OpenSsl.isAvailable() ? SslProvider.OPENSSL : SslProvider.JDK;
>>   }
>>
>> Yet, for OpenSSL to be available, I need *netty-tcnative-boringssl-static 
>> *on my classpath. Which I have.
>>
>> Even with JDK as SSLProvider, I don't understand why can't it load class 
>> in this grpc internal method:
>>
>>   static synchronized boolean isJettyAlpnConfigured() {
>>     try {
>>       Class.forName("org.eclipse.jetty.alpn.ALPN", true, null);
>>       return true;
>>     } catch (ClassNotFoundException e) {
>>       jettyAlpnUnavailabilityCause = e;
>>       return false;
>>     }
>>   }
>>
>> I do have ALPN in my classpath, as well.
>>
>>
>> Any help is appreciated!!
>>
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "grpc.io" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/grpc-io/v3saMxqOVOw/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/grpc-io.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/0377d3cb-91aa-40bf-9850-acebc5bfbc97%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/0377d3cb-91aa-40bf-9850-acebc5bfbc97%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/1903f496-8fd3-4a84-aa58-d32dd8374991%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to