title: How do I create client certificates for local testing of two-way authentication over SSL?
body: <p>I'm trying to set-up two-way authentication on a web app running on IIS7. The clients are going to mostly be mobile devices and in the first instance I'm trying to get a demo running using a 3rd generation iPad. I thought I'd start with getting it running on my workstation (which is also running IIS) first and then copy the working certificate over the the iPad.</p>
  
  <p>However I've hit a wall.</p>
  
  <p>I've got as far as having the site running securely over https and have installed a self-signed server certificate, however I can't seem to figure out how to generate a <em>client certificate</em> which I can install on the iPad. As I'm working on a local workstation running Windows 7 I can't use the usual <code>http://machinename/CertSvr</code> to do this.</p>
  
  <p><strike>So I'm wondering if there a way of getting <code>makecert</code> to generate test client certificates or whether I can change the usage flag in the server certificate to make it suitable for use on the client. Or perhaps there is some tool which the last day of Googling has not yet discovered?</strike></p>
  
  <p>Update: </p>
  
  <p>I found <a href="http://www.digitallycreated.net/Blog/38/using-makecert-to-create-certificates-for-development">this guide</a> and followed it to the letter. It all seemed to work, no errors, and I ended up with two pfx files, one for the server and one for the client (I generated these using <code>pvk2pfx</code> and kept the original <code>.pvk</code> and <code>.cer</code> files just in case).</p>
  
  <p>I installed the server certificate under <code>Certificates (Local Computer) &gt; Trusted Root Certification Authority</code> and installed the client certificate under <code>Certificates (Current User) &gt; Personal</code>. I have also imported the server certificate (the CA one) into IIS. It all works fine when IIS is configured to accept or ignore client certificates. However once it is set to 'Require' I'm getting a 403.7 when requesting the site. I've also tried importing the client certificate to the certificates store in IE/Chrome but again no dice.</p>
  
  <p>Is there something obvious I'm doing wrong? </p>