我尝试使用 SSL/TLS 实现 gRPC,我阅读了有关如何实现 SSL/TLS 的文档,但这不起作用,我在 C# 中找到了一个 stackoverflow 页面TLS support for GRPC关于如何实现 TLS 支持,但是再次这不起作用。
我正在使用 C#,但我有一个 Java 实现,我尝试将 C# 服务与 Java 客户端连接并工作,但是当我尝试将 C# 客户端与 C# 服务器连接时,它不起作用,即使我尝试连接带有 Java 服务器的 C# 客户端,它不起作用。
我正在使用greet protos 和Visual Studio 2015
根据文档,此代码必须工作
首先,我尝试将其用于客户端:
SslCredentials secureChanel = new SslCredentials(File.ReadAllText("ssl/ca.crt"));
Channel channel = new Channel("localhost", 50051, secureChanel);
Run Code Online (Sandbox Code Playgroud)
然后我为此更改了代码:
var rootCert = File.ReadAllText("ssl/ca.crt");
var keyCertPair = new KeyCertificatePair(
File.ReadAllText("ssl/server.crt"),
File.ReadAllText("ssl/server.pem"));
var clientCredentials = new SslCredentials(rootCert, keyCertPair);
var options = new List<ChannelOption>
{
new ChannelOption(ChannelOptions.SslTargetNameOverride, …Run Code Online (Sandbox Code Playgroud)