title: Why does RSACryptoServiceProvider.VerifyHash need an LDAP check?
body: <p>I recently encountered an odd problem with <a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsacryptoserviceprovider.verifyhash.aspx" rel="noreferrer"><code>RSACryptoServiceProvider.VerifyHash</code></a>. </p>
  
  <p>I have a web application using it for decryption. When users running the web service were doing so over our VPN it became very very slow. When they had no connection or a internet connection they were fine.</p>
  
  <p>After much digging I found that every time <code>RSACryptoServiceProvider.VerifyHash</code> is called it makes an LDAP request to check <code>MyMachineName\ASPNET</code>.</p>
  
  <p>This doesn't happen with our WebDev (cassini based) servers as they run as the current user, and it is only really slow over the VPN, but it shouldn't happen at all.</p>
  
  <p>This seems wrong for a couple of reasons: </p>
  
  <ul>
  <li>Why is it checking the domain controller for a local machine user?</li>
  <li>Why does it care? The encryption/decryption works regardless.</li>
  </ul>
  
  <p>Does anyone know why this occurs or how best to work around it?</p>