如何在我的Rust Tonic服务中获得用于身份验证的客户证书? [英] How to obtain client certificate used to authenticate in my Rust Tonic service?

查看:27
本文介绍了如何在我的Rust Tonic服务中获得用于身份验证的客户证书?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的Rust Tonic设置中,我已在客户端和服务器之间配置了mTLS(相互TLS)身份验证。

现在,我想使用客户端证书中存储的数据 A)授权访问(拦截器) B)用于提供服务(即我想查看Hello PetrPetr是否正在连接)

我找不到任何关于这方面的例子,遍历Tonic源代码对我也没有帮助。

推荐答案

在不和谐频道tokio/tonic询问后得到了解决方案(谢谢Lucio Franco!)还发现实际上是补药的一个例子(是的,我的研究还不够好)。

对于任何感兴趣的人,以下是示例代码: https://github.com/hyperium/tonic/blob/master/examples/src/tls_client_auth/server.rs

摘要:

为服务生成的每个方法中提供的request参数包含返回所有用户证书的参数peer_certs()

然后可以迭代它们,并解析它们的字节。我用的是板条箱x509-parser,这对我很有用,但其他人可能也会用。

这篇关于如何在我的Rust Tonic服务中获得用于身份验证的客户证书?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆