首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用带自签名证书的ruby grpc客户端

使用带自签名证书的ruby grpc客户端
EN

Stack Overflow用户
提问于 2022-10-12 12:37:33
回答 1查看 52关注 0票数 0

尝试使用ruby客户端连接到GRPC服务器。服务器使用带有自签名证书的TLS凭据。我信任我的系统上的证书(ubuntu20.04),但仍然得到了Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED

唯一的工作方式是在初始化客户端时手动设置GRPC::Core::ChannelCredentials.new(File.read(cert_path))。另一种解决方法是设置:this_channel_is_insecure,但只有在完全删除服务器中的TLS凭据(我不希望如此)时,这才有效。

有办法让GRPC客户端使用系统证书吗?

我假设gem正在使用roots.pem,并试图在Could not load any root certificate中使用GRPC::Core::ChannelCredentials.set_default_roots_pem结果来覆盖这一结果。

此外,我还没有找到任何允许我跳过证书验证的参数。

EN

Stack Overflow用户

发布于 2022-10-24 22:02:06

可以使用指向包含根的文件系统上的文件的GRPC_DEFAULT_SSL_ROOTS_FILE_PATH环境变量重写默认根位置。设置GRPC::Core::ChannelCredentials.new(File.read(cert_path))对我来说也不错。

在Ruby中,很可能不支持在TLS中跳过证书验证的特性。我们在底层内核中支持了相应的特性,但它可能还没有提供给Ruby (至少据我所知)。如果您需要这样做,可以在gRPC Github页面中自由地打开一个特性请求。

谢谢!

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74041944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档