title: How to use Microsoft.Rest.ServiceClient<> with client certificate?
body: <p><strong>Context</strong></p>
  
  <p>I have a tested working Web API service which is configured to client certificate authentication. Now I would like to call it and provide a client certificate. I would like to use <code>Microsoft.Rest.ServiceClient&lt;&gt;</code> because I generated my typed client classes by using Visual Studio 2015 "Add"/"REST Api client..."</p>
  
  <p>NOTE: I <em>must</em> load my X 509 client certificate from file or other stream, because the client will run on a PaaS environment, so I will have no access to any OS provided certificate store.</p>
  
  <pre><code>X509Certificate certificate = new X509Certificate(path, password);
  </code></pre>
  
  <p><strong>Question</strong></p>
  
  <p>For lower abstraction levels I know how to add client certificate to a request:</p>
  
  <pre><code>var request = (HttpWebRequest) WebRequest.Create(host);
  request.ClientCertificates.Add (certificate);
  </code></pre>
  
  <p>However when using higher abstraction level class <code>Microsoft.Rest.ServiceClient&lt;&gt;</code> I can not figure out where to introduce the client certificate into the call pipeline.</p>
  
  <p><strong>What I've tried so far</strong></p>
  
  <ul>
  <li>I've examined the properties of the some related classes, no certificate
  related properties / methods found</li>
  <li>I've examined the <code>ServiceClientCredentials</code> abstract class, but only two descendants found: for token based and basic authentication.</li>
  <li>I've tried to find some IoC facility to get the request just before sending: no success.</li>
  </ul>