private static async Task CallCertificateInfo(bool includeClientCertificate) { try { Console.WriteLine($"Setting up HttpClient. Client has certificate: {includeClientCertificate}"); var client = new Certifier.CertifierClient(GetChannel(includeClientCertificate)); Console.WriteLine("Sending gRPC call..."); var certificateInfo = await client.GetCertificateInfoAsync(new Empty()); Console.WriteLine($"Server received client certificate: {certificateInfo.HasCertificate}"); if (certificateInfo.HasCertificate) { Console.WriteLine($"Client certificate name: {certificateInfo.Name}"); } } catch (RpcException ex) { Console.WriteLine($"gRPC error from calling service: {ex.Status.Detail}"); } catch { Console.WriteLine($"Unexpected error calling service."); throw; } }
private static async Task CallCertificateInfo(bool includeClientCertificate) { try { Console.WriteLine($"Setting up HttpClient. Client has certificate: {includeClientCertificate}"); using var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions { HttpHandler = CreateHttpHandler(includeClientCertificate) }); var client = new Certifier.CertifierClient(channel); Console.WriteLine("Sending gRPC call..."); var certificateInfo = await client.GetCertificateInfoAsync(new Empty()); Console.WriteLine($"Server received client certificate: {certificateInfo.HasCertificate}"); if (certificateInfo.HasCertificate) { Console.WriteLine($"Client certificate name: {certificateInfo.Name}"); } } catch (RpcException ex) { Console.WriteLine($"gRPC error from calling service: {ex.Status.Detail}"); } catch { Console.WriteLine($"Unexpected error calling service."); throw; } }
private static async Task CallCertificateInfo(bool includeClientCertificate) { try { Console.WriteLine($"Setting up HttpClient. Client has certificate: {includeClientCertificate}"); var channel = GrpcChannel.ForAddress("https://localhost:50051", new GrpcChannelOptions { HttpClient = CreateHttpClient(includeClientCertificate) }); var client = new Certifier.CertifierClient(channel); Console.WriteLine("Sending gRPC call..."); var certificateInfo = await client.GetCertificateInfoAsync(new Empty()); Console.WriteLine($"Server received client certificate: {certificateInfo.HasCertificate}"); if (certificateInfo.HasCertificate) { Console.WriteLine($"Client certificate name: {certificateInfo.Name}"); } } catch (Exception ex) { Console.WriteLine($"Error calling service: {ex.Message}"); } }
private static async Task CallCertificateInfoAsync(bool includeClientCertificate) { try { Console.WriteLine($"Setting up HttpClient has certificate:{includeClientCertificate}"); var httpClient = CreateHttpClient(includeClientCertificate); var callCredential = CallCredentials.FromInterceptor((context, metadata) => { metadata.Add("Authorization", $"Bearer {CreateCertificateInfo().GetRawCertDataString()}"); return(Task.CompletedTask); }); var channelCredentials = ChannelCredentials.Create(new SslCredentials(), callCredential); var channel = GrpcChannel.ForAddress("https://localhost:5001", new GrpcChannelOptions { HttpClient = httpClient, Credentials = channelCredentials }); var client = new Certifier.CertifierClient(channel); Console.WriteLine("Sending gRPC call..."); var certificateInfo = await client.GetCertificateInfoAsync(new Empty()); Console.WriteLine($"Server received client certificate:{ certificateInfo.HasCertificate}"); if (certificateInfo.HasCertificate) { Console.WriteLine($"Client certificate name:{certificateInfo.Name}"); } } catch (RpcException ex) { Console.WriteLine($"gRPC error from calling service:{ex.Status.Detail}"); } catch (Exception ex) { Console.WriteLine($"Unexpected error calling service." + ex.Message); throw; } }