Unable to connect to grpc server using SSL credentials, while connection 
without works ok.


Status 12(unimplemented) is returned.


*Client connection code:*


  std::string grpc_host(/*m_sIP*/m_sDestination + ":" + 
std::to_string(Config::config().grpc_port));

  std::string grpc_ip(m_sIP + ":" + 
std::to_string(Config::config().grpc_port));

             grpc::ChannelArguments channelArgs;

      grpc::SslCredentialsOptions sslOpts;

      utils::getFileContent(Config::config().ssl.chain_cert_file_path, 
sslOpts.pem_root_certs);      

      utils::getFileContent(Config::config().ssl.key_file_path, 
sslOpts.pem_private_key);      

      utils::getFileContent(Config::config().ssl.cert_file_path, 
sslOpts.pem_cert_chain);

      

m_pStub = ClientServer::NewStub(grpc::CreateCustomChannel(grpc_ip, 
grpc::SslCredentials(sslOpts), channelArgs));

m_pStub->AsyncStartLogRetrieval(&calldata->context, lctx->header(), 
m_Poller.cq());



*Server connection code:*

    grpc::SslServerCredentialsOptions 
sslOpts(GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE);

    std::string certificate;

            std::string chaincert;

            std::string key;

            std::string rootca;

            utils::getFileContent(config.Certificate(),certificate)

            utils::getFileContent(config.ChainCert(), chaincert);

            utils::getFileContent(config.PrivateKey(), key);

            utils::getFileContent(config.RootCA(), rootca);

                

                LOGINFO("successfully load TLS secrets");

                grpc::SslServerCredentialsOptions::PemKeyCertPair kcp = { 
key, certificate };

                sslOpts.pem_root_certs = rootca;

                sslOpts.pem_key_cert_pairs.push_back ( kcp );

            std::shared_ptr<grpc::ServerCredentials> serverCred;

    if (m_conf->EnableTLS() == true)

    {

        serverCred = grpc::SslServerCredentials(sslOpts);

    }

    else

    {

        serverCred = grpc::InsecureServerCredentials();

    }


    builder.AddListeningPort(m_serveraddress, serverCred);

    builder.AddListeningPort(m_serveraddress_ss, serverCred);


    builder.RegisterService(m_serveraddress, &m_service);

    builder.RegisterService(m_serveraddress_ss, &m_service_ss);


    m_Cq = builder.AddCompletionQueue();

    m_server = builder.BuildAndStart();


    m_server->GrpcService().RequestStartLogRetrieval(&m_ctx,

                                                     &m_logHeader,

                                                     &m_responder,

                                                     m_Cq.get(),

                                                     m_Cq.get(),

                                                     this);




*grpc log server side*




1536861059.980 I bzs.cc:141: main():successfully load TLS secrets
1536861059.980 I bzs.cc:142: main():TEST ONLY: cert = 1736 key= 1708
rootca= 2701
D0913 17:50:59.981257225   10521 ev_posix.cc:142]            Using
polling engine: epollex
D0913 17:50:59.981354852   10521 dns_resolver.cc:331]        Using
native dns resolver
I0913 17:50:59.981398500   10521 init.cc:155]                grpc_init(void)
I0913 17:50:59.981423808   10521 completion_queue.cc:433]   
grpc_completion_queue_create_internal(completion_type=0, polling_type=0)
I0913 17:50:59.981442286   10521 init.cc:155]                grpc_init(void)
I0913 17:50:59.981473600   10521 server.cc:944]             
grpc_server_create(0xffe70c24, (nil))
I0913 17:50:59.981486846   10521 server.cc:930]             
grpc_server_register_completion_queue(server=0x89ebbc8, cq=0x89eb998,
reserved=(nil))
I0913 17:50:59.981499676   10521 server.cc:978]             
grpc_server_register_method(server=0x89ebbc8,
method=/banzai.ClientServer/StartLogRetrieval, host=198.18.87.44:50051,
flags=0x00000000)
I0913 17:50:59.981511620   10521 server.cc:978]             
grpc_server_register_method(server=0x89ebbc8,
method=/banzai.ClientServer/SendBlock, host=198.18.87.44:50051,
flags=0x00000000)
I0913 17:50:59.981529888   10521 server.cc:978]             
grpc_server_register_method(server=0x89ebbc8,
method=/banzai.ServerServer/GetChunks, host=198.18.87.44:50052,
flags=0x00000000)
I0913 17:50:59.981542015   10521 server.cc:978]             
grpc_server_register_method(server=0x89ebbc8,
method=/banzai.ServerServer/GetChunkMetadata, host=198.18.87.44:50052,
flags=0x00000000)
I0913 17:50:59.981561414   10521 server_secure_chttp2.cc:50]
grpc_server_add_secure_http2_port(server=0x89ebbc8,
addr=198.18.87.44:50051, creds=0x89e95e0)
I0913 17:50:59.983945963   10521 server_secure_chttp2.cc:50]
grpc_server_add_secure_http2_port(server=0x89ebbc8,
addr=198.18.87.44:50052, creds=0x89e95e0)
I0913 17:50:59.985015540   10521 server.cc:1024]            
grpc_server_start(server=0x89ebbc8)
I0913 17:50:59.985044734   10521 call_details.cc:31]        
grpc_call_details_init(cd=0x8a118f0)
I0913 17:50:59.985057268   10521 server.cc:1336]            
grpc_server_request_call(server=0x89ebbc8, call=0x8a118ec,
details=0x8a118f0, initial_metadata=0x8a11958,
cq_bound_to_call=0x89eb998, cq_for_notification=0x89eb998, tag=0x8a118d0)
1536861059.985 I server.cc:60: Run():Server listening on: 198.18.87.44:50051
I0913 17:50:59.985269613   10535 server.cc:1385]            
grpc_server_request_registered_call(server=0x89ebbc8, rmp=0x89eedb8,
call=0xf38006dc, deadline=0xf3800484, initial_metadata=0xf38004a8,
optional_payload=0xf3800700, cq_bound_to_call=0x89eb998,
cq_for_notification=0x89eb998, tag=0xf38006c0)
1536861059I0913 17:50:59.985299807   10534 server.cc:1385]            
grpc_server_request_registered_call(server=0x89ebbc8, rmp=0x89ebe68,
call=0xf3a00684, deadline=0xf3a00484, initial_metadata=0xf3a004a8,
optional_payload=0xf3a006a8, cq_bound_to_call=0x89eb998,
cq_for_notification=0x89eb998, tag=0xf3a00668)
I0913 17:50:59.985328278   10534 completion_queue.cc:853]   
grpc_completion_queue_next(cq=0x89eb998, deadline=gpr_timespec { tv_sec:
9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil))
.985 I server.cc:85: HandleBzcRpcs():handle rpc call from client
I0913 17:50:59.985385393   10535 completion_queue.cc:853]   
grpc_completion_queue_next(cq=0x89eb998, deadline=gpr_timespec { tv_sec:
9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil))
I0913 17:52:29.390936255   10534 security_context.cc:295]   
grpc_auth_context_add_cstring_property(ctx=0xf3a00748,
name=transport_security_type, value=ssl)
I0913 17:52:29.390979766   10534 security_context.cc:279]   
grpc_auth_context_add_property(ctx=0xf3a00748, name=ssl_session_reused,
value= false, value_length=6)
I0913 17:52:29.391512134   10534 call.cc:1552]               ops[0]:
RECV_INITIAL_METADATA ptr=0xf3a17d54
I0913 17:52:29.391560744   10534 completion_queue.cc:632]   
cq_end_op_for_next(cq=0x89eb998, tag=0x8a118d0, error="No Error",
done=0x837f8d0, done_arg=0x8a11d98, storage=0x8a11db4)
I0913 17:52:29.391580272   10534 completion_queue.cc:953]   
RETURN_EVENT[0x89eb998]: OP_COMPLETE: tag:0x8a118d0 OK
I0913 17:52:29.391595925   10534 call.cc:1926]              
grpc_call_start_batch(call=0xf3a177a0, ops=0xf4bfec7c, nops=1,
tag=0xf3a16c50, reserved=(nil))
I0913 17:52:29.391607536   10534 call.cc:1552]               ops[0]:
RECV_CLOSE_ON_SERVER cancelled=0xf3a16c7c
I0913 17:52:29.391621173   10534 call_details.cc:31]        
grpc_call_details_init(cd=0xf3a0b510)
I0913 17:52:29.391634021   10534 server.cc:1336]            
grpc_server_request_call(server=0x89ebbc8, call=0xf3a0b50c,
details=0xf3a0b510, initial_metadata=0xf3a0b578,
cq_bound_to_call=0x89eb998, cq_for_notification=0x89eb998, tag=0xf3a0b4f0)
I0913 17:52:29.391651465   10534 call.cc:1926]              
grpc_call_start_batch(call=0xf3a177a0, ops=0xf4bfebdc, nops=2,
tag=0xf3a16c88, reserved=(nil))
I0913 17:52:29.391662933   10534 call.cc:1552]               ops[0]:
SEND_INITIAL_METADATA(nil)
I0913 17:52:29.391674168   10534 call.cc:1552]               ops[1]:
SEND_STATUS_FROM_SERVER status=12 details=(null)(nil)
I0913 17:52:29.391698494   10534 completion_queue.cc:632]   
cq_end_op_for_next(cq=0x89eb998, tag=0xf3a16c50, error="No Error",
done=0x8378fd0, done_arg=0xf3a18990, storage=0xf3a18994)
I0913 17:52:29.391729534   10534 completion_queue.cc:632]   
cq_end_op_for_next(cq=0x89eb998, tag=0xf3a16c88, error="No Error",
done=0x8378fd0, done_arg=0xf3a18a10, storage=0xf3a18a14)
I0913 17:52:29.391743776   10534 completion_queue.cc:853]   
grpc_completion_queue_next(cq=0x89eb998, deadline=gpr_timespec { tv_sec:
9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil))
I0913 17:52:29.391763139   10534 completion_queue.cc:953]   
RETURN_EVENT[0x89eb998]: OP_COMPLETE: tag:0xf3a16c88 OK
I0913 17:52:29.391774396   10534 call.cc:568]               
grpc_call_unref(c=0xf3a177a0)
I0913 17:52:29.391748870   10535 completion_queue.cc:953]   
RETURN_EVENT[0x89eb998]: OP_COMPLETE: tag:0xf3a16c50 OK
I0913 17:52:29.391785787   10534 metadata_array.cc:34]      
grpc_metadata_array_destroy(array=0xf3a17d54)
I0913 17:52:29.391853468   10534 metadata_array.cc:34]      
grpc_metadata_array_destroy(array=0x8a11958)
I0913 17:52:29.391833145   10535 completion_queue.cc:853]   
grpc_completion_queue_next(cq=0x89eb998, deadline=gpr_timespec { tv_sec:
9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil))
I0913 17:52:29.391878503   10534 completion_queue.cc:853]   
grpc_completion_queue_next(cq=0x89eb998, deadline=gpr_timespec { tv_sec:

9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil))




Any thoughts on potential cause?


   


-- 
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/683ca724-a911-4e0c-b5e6-3643a32e0756%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to