title: X509Certificate2.Verify behaviour
body: <p>I have a digitally signed binary app.exe. Certificate is issued by commercial CA. In file properties (on Windows), Digital Signature information says that <em>This digital signature is OK</em>. If I somehow modify binary (e.g. by changing resources in Resource Hacker) Digital Signature information says that <em>This digital signature is not valid</em>.</p>
  
  <p>I tried to verify certificate programmatically but <a href="http://msdn.microsoft.com/en-GB/library/system.security.cryptography.x509certificates.x509certificate2.verify%28v=vs.90%29.aspx" rel="nofollow">X509Certificate2.Verify()</a> returns <code>true</code> no matter which file I use - original (app.exe) or tampered one (app-modified.exe).</p>
  
  <pre><code>string filename = "app.exe"; // "app-modified.exe"
  X509Certificate cert1 = X509Certificate.CreateFromSignedFile(filename);
  X509Certificate2 cert2 = new X509Certificate2(cert1);
  bool isValid = cert2.Verify();
  </code></pre>
  
  <p><strong>Why does this function return true in both cases? Is this a proper way of validating digital signatures of files?</strong></p>