有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使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) 个答案

  1. # 1 楼答案

    遗憾的是,GRPC C++不支持这一特性。GRPC C++只具有不验证客户端证书但不验证服务器证书的选项。p>

    您的用例似乎不够强大,我们无法支持此功能