如何使C++客户端信任所有X.509证书而不进行任何验证(如java)
java的虫害管理器工厂的GRPC C++等价物是什么?
GrpcSslContexts。forClient()。trustManager(不安全的TrustManagerFactory.INSTANCE)。构建()
不安全的TrustManagerFactory,信任所有X.509证书而不进行任何验证
换句话说,在Java中,我创建了一个服务器(private.key+certificate.pem,由rootCA签名)和一个客户机,该客户机创建SSL加密通道,服务器无需验证即可接受服务器的证书(rootCA.pem不适用于客户机)。从技术上讲,这是不推荐的,但我使用它只是为了测试的目的。我需要为我的C++版本的服务器客户端对做同样的事情。到目前为止,我的C++客户端需要RooCA。通过SSLCREDENTALYSOPTION的pem:
grpc::SslCredentialsOptions sslChannelOptions;
sslChannelOptions.pem_root_certs = "rootCA.pem";
sslChannelOptions.pem_cert_chain = "";
sslChannelOptions.pem_private_key = "";
return grpc::SslCredentials( sslChannelOptions );
或者通过
gpr_setenv(“GRPC_默认值_SSL_根目录_文件_路径”、“ROOTS.pem”)
否则我会得到:
ssl_传输_安全。c:921]握手失败,出现致命错误SSL\U error\U SSL:error:040006B:RSA例程:OPENSSL\U内部:块类型\U不是\U 01
# 1 楼答案
您的用例似乎不够强大,我们无法支持此功能