python服务器证书不可信,grpc Python:忽略不受信任的证书

我想为我信任但缺少证书的源创建grpc通道。

使用默认凭据设置安全通道失败:

import gprc

ssh_channel = grpc.secure_channel(, grpc.ssl_channel_credentials())

grpc.channel_ready_future(ssh_channel).result()

结果:

E1017 10:05:15.783011100 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.

E1017 10:05:16.846366639 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.

E1017 10:05:18.688887874 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.

E1017 10:05:21.557399186 11539 ssl_transport_security.cc:1229] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.

我知道这是可能的,因为在Java中,可以执行以下操作:

import io.grpc.netty.GrpcSslContexts;

import io.grpc.netty.NettyChannelBuilder;

import io.netty.handler.ssl.SslContext;

import io.netty.handler.ssl.util.InsecureTrustManagerFactory;

...

sslContext = GrpcSslContexts.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build();

channel = NettyChannelBuilder.forAddress(, 443).sslContext(sslContext).build();

但是我还没有找到类似的Python方法。

grpc.secure_channel的文档中还描述了一个option参数,根据该文档,它是:

用于配置通道的键/值对(gRPC Core运行时中的通道args)的可选列表。

对通道args here的引用也没有提供任何帮助。有什么想法吗?

更新:(2014年1月19日):

有一个开放的拉取请求,用于在Python代码中添加此选项,但是现在似乎已经停留在PR中几个月了:https://github.com/grpc/grpc/pull/12656

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值