// GET api/values
        public IEnumerable <string> Get()
        {
            ProcessClientCertificate pCert = new ProcessClientCertificate();

            System.Net.Http.Headers.HttpRequestHeaders headers = this.Request.Headers;
            List <string> lst = new List <string>();

            foreach (var header in headers)
            {
                if (headers.Contains(header.Key))
                {
                    string token = headers.GetValues(header.Key).First();
                    if (!string.IsNullOrEmpty(token))
                    {
                        lst.Add(header.Key + " : " + token);
                    }
                }

                else
                {
                    lst.Add(header.Key + " : No value ");
                }
            }

            if (headers.Contains("X-ARR-ClientCert"))
            {
                string           token = headers.GetValues("X-ARR-ClientCert").First();
                X509Certificate2 cert  = pCert.GetClientCertificateFromHeader(token);
                return(new string[] { cert.Thumbprint, cert.Issuer });
            }

            return(lst.ToArray <string>()); //new string[] { "value1", "value2" };
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            ProcessClientCertificate pCert   = new ProcessClientCertificate();
            NameValueCollection      headers = base.Request.Headers;
            var certHeader = headers["X-ARR-ClientCert"];

            if (!String.IsNullOrEmpty(certHeader))
            {
                ViewBag.Title = pCert.GetClientCertificateFromHeader(certHeader);
            }
            {
                ViewBag.Title = "Home Page";
            }
            return(View());
        }