Example #1
0
        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;
            }
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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}");
            }
        }
Example #4
0
        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;
            }
        }