title: Generate kid for jwt from public key of signing key
body: <p>Given:</p>
  
  <ul>
  <li>a signing key generated by RSACryptoServiceProvider. </li>
  <li>a requirement to create a signed jwt with a kid. </li>
  </ul>
  
  <p>If the signing key was from a x509 certificate, then I would set the kid to the x5t. In this case it is not. I could make up something arbitrary for the kid, but it would be best if collisions were unlikely and that there is a meaningful link between the kid and the cert. </p>
  
  <p>What I am intending is: -</p>
  
  <ol>
  <li>Create a byte array which is created by appending the modulus bytes to the exponent bytes. </li>
  <li>SHA256 encode the array. </li>
  <li>Base64 the SHA256.  </li>
  <li>set kid to base64 string.</li>
  </ol>
  
  <p>Pretty much this: </p>
  
  <pre><code>var kid = Base64(SHA256(concat(exp,mod)))
  </code></pre>
  
  <p>Does this seem a valid approach? Is there an easier way to get a thumbprint from <code>RSASecurityKey</code>?</p>