Client Certificate HTTP Header not populating

Ryan Parino 0 Reputation points
2023-05-24T03:26:59.8866667+00:00

I have an azure app service which I've configured to set "Client Certificate Mode" to "Require" in General Settings. I am trying to access the client certificate upon successful connection.

Per the docs, it says that

In App Service, TLS termination of the request happens at the frontend load balancer. When forwarding the request to your app code with client certificates enabled, App Service injects an X-ARR-ClientCert request header with the client certificate. App Service does not do anything with this client certificate other than forwarding it to your app. Your app code is responsible for validating the client certificate. For ASP.NET, the client certificate is available through the HttpRequest.ClientCertificate property. For other application stacks (Node.js, PHP, etc.), the client cert is available in your app through a base64 encoded value in the X-ARR-ClientCert request header.

I am not seeing any header by the name of X-ARR-ClientCert at all, let alone the CA, CN, or DN.

I have set up a minimal example environment, brand new app service with no changes, and seeing not headers - either in response or request, that include the client certificate in header under the name X-ARR-ClientCert. I have a valid client certificate installed, which is allowing me in - I just have no access to the client certificate, as the docs state I should..

Images below to show what I'm seeing:

Screen Shot 2023-05-23 at 8.07.04 PM

Screen Shot 2023-05-23 at 8.10.56 PM

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
{count} votes

1 answer

Sort by: Most helpful
  1. ajkuma 28,111 Reputation points Microsoft Employee Moderator
    2023-05-29T13:30:40.3+00:00

    Apologies for the delay from over the weekend and any confusion from my earlier post.

    As the header is injected in between the frontend and worker, so the client (/from browser) will not see the header.
    As you notice the WebApp is prompting for the certificate as expected, so your config is fine.
    User's image

    You may take a look at this article (it’s old, but concepts still appliable) on validating the certificate.

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.