title: PyCrypto Errors with .p12 file from Google Developer Console
body: <p>I am trying to implement Google Identity Toolkit (gitkitv3) in GAE Python. After a user signs in on the website, I get the following errors: </p>
  
  <pre><code>'PKCS12 format is not supported by the PyCrpto library. '
  NotImplementedError: PKCS12 format is not supported by the PyCrpto library. Try converting to a "PEM" (openssl pkcs12 -in xxxxx.p12 -nodes -nocerts &gt; privatekey.pem) or using PyOpenSSL if native code is an option.
  </code></pre>
  
  <p>Based on <a href="https://stackoverflow.com/a/25190067/1443563">a SO reply</a>, I ran the following commands on my x.p12 file and used the generated privatekey.pem file instead: </p>
  
  <pre><code>openssl pkcs12 -passin pass:notasecret -in x.p12 -nocerts -passout pass:notasecret -out key.pem 
  openssl pkcs8 -nocrypt -in key.pem -passin pass:notasecret -topk8 -out privatekey.pem
  </code></pre>
  
  <p>Now, I am getting the following error: </p>
  
  <pre><code>'X509 certs are not supported by the PyCrypto library. '
  NotImplementedError: X509 certs are not supported by the PyCrypto library. Try using PyOpenSSL if native code is an option.
  </code></pre>
  
  <p>I had downloaded the x.p12 from Google Developer Console. How to fix this error? Please help </p>
  
  <hr>
  
  <p><strong>ANY WORKAROUND?</strong> </p>
  
  <p>Do I necessarily need this file .p12 file or can I copy its contents to a global variable and use it (as a workaround)?
  Could someone please explain me the actual use of this file?</p>
  
  <hr>
  
  <p><strong>UPDATE</strong><br>
  Looks like PyCrypto library provided by Google is extremely limited and lacks capability to support X509. </p>