确定 mTLS gRPC 服务器中的客户端身份

问题描述

我正在用 Golang 编写一个 mTLS gRPC 服务器。可以通过其证书的通用名称唯一标识对等点。我的问题是如何在gRPC消息接口的实现中访问客户端证书、客户端证书主题或客户端证书公用名?

以下是更多背景信息:

让我们假设只有一个服务 NameService一个名为 Add方法。所以我的 .proto 文件将包含以下内容(使用 proto3 语法):

service NameService {
    rpc Add(Name) returns (Empty) {}
}

message Name {
    string name = 1;
}

message Empty {
}

那么我必须在 go 中实现以下接口:

type NameServiceServer interface {
    Add(context.Context,*Name) (*Empty,error)
}

方法Add的实现中,我想读取对等证书。我该怎么做?

附言我刚刚开始使用 Golang,所以如果我错过了一个明显的答案,我深表歉意。提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)