【发布时间】:2019-07-05 14:08:15
【问题描述】:
您能帮我进行 gRPC 服务器的 ssl 认证吗?
这就是我使用 C# Core Console 应用程序的方式:
const int Port = 50051;
const string host = "127.0.0.1";
var cacert = File.ReadAllText(@"Certs/ca.crt");
var servercert = File.ReadAllText(@"Certs/server.crt");
var serverkey = File.ReadAllText(@"Certs/server.key");
var keypair = new KeyCertificatePair(servercert, serverkey);
var sslCredentials = new SslServerCredentials(new List<KeyCertificatePair>() { keypair }, cacert, false);
var server = new Server()
{
// setup host, port and server credentials
Ports = { new ServerPort(host, Port, sslCredentials) },
// register the service we built earlier
Services = { Messages.BindService(new MessagesImpl()) }
};
server.Start();
不知道如何在ASP.NET core gRPC Server中提供SslServerCredentials?
通过在配置部分添加 Stattup.cs 文件来启动 cRPG 服务器:
public void ConfigureServices(IServiceCollection services)
{
services.AddGrpc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
// Communication with gRPC endpoints must be made through a gRPC client.
// To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909
endpoints.MapGrpcService<ServiceBaaseClass>();
});
}
【问题讨论】:
标签: c# asp.net-core grpc