GRPC Auth-如何使SSL / TLS证书可供客户端使用

时间:2018-08-12 00:49:40

标签: ssl grpc

我正在尝试创建GRPC服务以对用户进行身份验证。后端服务器将使用Go编写,而前端将使用Javascript。客户端和服务器之间的连接必须安全,因此我将在服务器端使用SSL / TLS。

我的问题与GRPC客户端API有关。创建GRPC客户端进行请求时,我需要指定一个凭据对象:

var ssl_creds = grpc.credentials.createSsl(root_certs); var stub = new helloworld.Greeter('myservice.example.com', ssl_creds);

我可以提供许多不同的凭据对象,但它们似乎都要求在客户端具有服务器的公共密钥。如何从服务器到客户端获取公钥以创建凭据对象?我必须自己进行某种形式的验证以确保证书受到信任吗?

对于用于发出REST HTTP请求的库,此步骤似乎在后台进行,因为我不必指定密钥。通常,您可以将密钥作为可选参数提供,仅当某些证书颁发机构未验证SSL证书时才需要提供该密钥。这些库(例如jQuery或Python的请求库)如何获取必要的公钥并执行验证?我可以在GRPC库中使用类似的功能吗?

0 个答案:

没有答案