0
如何在.net中爲grpc啓動並運行服務器端身份驗證? 一直在生成證書和嘗試不同的設置,我已經厭倦了。無需SSL即可正常工作。如何在.net中使用SSL安裝grpc
這是最後一次嘗試我做,讓我錯誤
Status(StatusCode=Unavailable, Detail="Connect Failed"
證證書這樣
openssl genrsa -out server.key 2048
openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650
服務器
const int port = 50052;
var serverimpl= new Server
{
Services =
{
TestServer.BindService(new TestServerImpl())
},
Ports =
{
new ServerPort("localhost", port, new SslServerCredentials(new List<KeyCertificatePair>
{
new KeyCertificatePair
(
File.ReadAllText(@"server.crt"),
File.ReadAllText(@"server.key")
)
}))
}
};
serverimpl.Start();
Console.WriteLine("Test server listening on port " + port);
Console.WriteLine("Press any key to stop the server...");
Console.ReadKey();
serverimpl.ShutdownAsync().Wait();
客戶
var channel = new Channel("127.0.0.1", 50052, new SslCredentials(File.ReadAllText("server.crt")));
var client = new TestServer.TestServiceClient(channel);
var result = client.TestCall(new Query
{
From = DateTime.UtcNow.AddDays(-10).Ticks,
To = DateTime.UtcNow.Ticks
});
channel.ShutdownAsync().Wait();