1

我正在用 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,我想阅读对等证书。我该怎么做?

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

4

0 回答 0