Exemplo n.º 1
0
        private Task LoadClientCertAsync()
        {
            try
            {
                if (!_environment.ClientCertNeedsInit)
                {
                    return(TaskHelpers.Completed());
                }

                return(_request.GetClientCertificateAsync()
                       .Then(cert =>
                {
                    _environment.ClientCert = cert;
                    _environment.ClientCertErrors =
                        (_request.ClientCertificateError == 0) ? null
                            : new Win32Exception(_request.ClientCertificateError);
                })
                       .Catch(errorInfo =>
                {
                    _environment.ClientCert = null;
                    _environment.ClientCertErrors = null;
                    // TODO: LOG
                    return errorInfo.Handled();
                }));
            }
            catch (HttpListenerException)
            {
                _environment.ClientCert       = null;
                _environment.ClientCertErrors = null;
                // TODO: LOG
                return(TaskHelpers.Completed());
            }
        }
Exemplo n.º 2
0
        private async Task LoadClientCertAsync()
        {
            try
            {
                if (!_environment.ClientCertNeedsInit)
                {
                    return;
                }

                X509Certificate cert = await _request.GetClientCertificateAsync();

                _environment.ClientCert       = cert;
                _environment.ClientCertErrors =
                    (_request.ClientCertificateError == 0) ? null
                        : new Win32Exception(_request.ClientCertificateError);
            }
            catch (Exception)
            {
                _environment.ClientCert       = null;
                _environment.ClientCertErrors = null;
                // TODO: LOG
            }
        }
Exemplo n.º 3
0
        public async Task GetClientCertificateAsync_NoCertificate_ReturnsNull()
        {
            HttpListenerRequest request = await GetRequest("POST", null, null);

            Assert.Null(request.GetClientCertificateAsync().Result);
        }
Exemplo n.º 4
0
 //
 // Summary:
 //     Retrieves the client's X.509 v.3 certificate as an asynchronous operation.
 //
 // Returns:
 //     Returns System.Threading.Tasks.Task`1.The task object representing the asynchronous
 //     operation. The System.Threading.Tasks.Task`1.Result property on the task object
 //     returns a System.Security.Cryptography.X509Certificates object that contains
 //     the client's X.509 v.3 certificate.
 public Task <X509Certificate2> GetClientCertificateAsync()
 {
     return(request.GetClientCertificateAsync());
 }
 public Task <X509Certificate2> GetClientCertificateAsync()
 {
     return(inner.GetClientCertificateAsync());
 }
Exemplo n.º 6
0
 /// <summary>
 /// See interface docs.
 /// </summary>
 /// <returns></returns>
 public Task <X509Certificate2> GetClientCertificateAsync() => _Wrapped.GetClientCertificateAsync();