C# 在C中使用SSLServerCredentials时,GRCP服务器引发异常#

C# 在C中使用SSLServerCredentials时,GRCP服务器引发异常#,c#,ssl,grpc,C#,Ssl,Grpc,因此,我目前正在尝试设置一个启用ssl的grpc服务器,但我总是遇到异常“绑定端口失败”0.0.0.0:8888 这个端口肯定没有被使用。 如果它在server.crt中很重要,则CN是localhost。 它在ServerCredentials.unsecurity上也可以正常工作 更新: 我让服务器工作,我的证书有问题,但是现在客户端无法连接,我得到一个RpcException,带有StatusCode=Unavailable,Detail=“Empty update” var cacert

因此,我目前正在尝试设置一个启用ssl的grpc服务器,但我总是遇到异常“绑定端口失败”0.0.0.0:8888 这个端口肯定没有被使用。 如果它在server.crt中很重要,则CN是localhost。 它在
ServerCredentials.unsecurity上也可以正常工作

更新: 我让服务器工作,我的证书有问题,但是现在客户端无法连接,我得到一个RpcException,带有
StatusCode=Unavailable,Detail=“Empty update”

var cacert=File.ReadAllText($“{path}/ca.crt”);
var servercert=File.ReadAllText($“{path}/server.crt”);
var serverkey=File.ReadAllText($“{path}/server.key”);
var keypair=newkeycertificatePair(servercert,serverkey);
var sslCredentials=新的SslServerCredentials(新列表{keypair},cacert,true);
var server=新服务器
{
服务={Comm.BindService(新通信器())},
端口={newserverport(“0.0.0.0”,8888,sslCredentials)}
};
server.Start();
Console.WriteLine(“服务器已启动”);
Console.ReadKey();
server.shutdownsync().Wait();

这是一个证书问题。
在本repo中,是一个证书示例,以防其他人遇到困难

Hi Felix,我也遇到了同样的问题。您的证书问题是什么,您是如何解决的?任何帮助都会很好,谢谢。我自己创建ssl密钥时出错,因为我只是想尝试ssl身份验证,所以我只是在grpc dotn中使用了证书et repoHi,谢谢你的评论。那么你在客户端使用了他们的证书。服务器呢?你是怎么做到的?你有一个代码示例吗,比如超级简单的一个?我也被困在这个问题上抱歉,我恐怕没有,但我使用了这个存储库中的密钥
var cacert = File.ReadAllText($"{path}/ca.crt");
        var servercert = File.ReadAllText($"{path}/server.crt");
        var serverkey = File.ReadAllText($"{path}/server.key");
        var keypair = new KeyCertificatePair(servercert, serverkey);
        var sslCredentials = new SslServerCredentials(new List<KeyCertificatePair> { keypair }, cacert, true);

        var server = new Server
        {
            Services = { Comm.BindService(new Communicator()) },
            Ports = { new ServerPort("0.0.0.0", 8888, sslCredentials) }
        };
        server.Start();

        Console.WriteLine("Server started");
        Console.ReadKey();

        server.ShutdownAsync().Wait();