GRPC c++ 中的相互认证?

Mutual authentication in GRPC c++?

我想知道如何在 GRPC C++ 中使用相互认证。

我的 GRPC 客户端是 运行 在嵌入式硬件上并且有一个自签名证书。

我正在创建一个用于创建安全通道的 SslCredentialsOptions 对象:

SslCredentialsOptions ssl_options

ssl_options.pem_cert_chain = /* std::string containing the test certificate pem file*/

我也需要传递私钥吗?我将无法访问私钥,因为它在 ecc508 芯片中。

然而,当我在测试设置上传递私钥时,服务器仍然不验证客户端。我这样做

ssl_options.pem_private_key = /* std::string containing test private key */

GRPC 简单地说 failed to connect to all addresses.

我使用的测试证书是由我们grpc服务器中使用的root-ca签名的。

关于如何使这项工作有任何想法吗?我以为只要传递参数,体验就会很直接,但现在我不知道发生了什么。如有任何意见,我们将不胜感激。

谢谢!

gRPC 包装语言支持 OpenSSL ENGINE 硬件加密私钥。你只需要设置 ssl_option.pem_private_key = "engine::".