首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gRPC sslcontext配置

gRPC sslcontext配置
EN

Stack Overflow用户
提问于 2020-09-28 21:42:09
回答 1查看 590关注 0票数 0

我是gRPC的新手。我要做的是从客户端向服务器发送一个ssl gRPC调用。我的问题是,以下代码中的“certFile”是客户端证书还是服务器证书?如果是客户端证书,则需要将服务器证书添加到信任列表中,还是在调用之前将客户端证书添加到服务器的信任列表中?感谢你的帮助。

代码语言:javascript
运行
复制
   SslContext sslcontext = GrpcSslContexts.forClient()
        .trustManager(caFile)
        .keyManager(certFile, keyFile) 
        .build();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-28 22:37:12

trustManagerkeyManager在客户机/服务器之间是相互的;客户端的信任管理器需要信任服务器的密钥管理器,而服务器的信任管理器需要信任客户机的密钥管理器(如果使用客户端证书)。客户机和服务器之间唯一的区别是服务器必须有一个密钥管理器,而客户机必须有一个信任管理器。如果不为客户端指定信任管理器,则将使用默认设置。

信任管理器基本上是受信任的证书颁发机构(独立于客户端或服务器)。密钥管理器包含身份证书和私钥以证明身份。

因此,客户端的keyManager用于客户端证书.您需要在服务器端配置trustManager以信任该证书:要么包括证书本身,要么包括签署客户端证书的证书颁发机构。通常可以将客户端的信任管理器保留为默认值。

注意,只有在服务器请求时,客户端才会发送其证书。因此,您需要将服务器配置为OPTIONALly或REQUIRE客户机证书:

代码语言:javascript
运行
复制
sslContextBuilder.clientAuth(ClientAuth.REQUIRE);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64110008

复制
相关文章

相似问题

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