title: How to programmatically verify an assembly is signed with a specific Certificate?
body: <p>My scenario is we have one program (exe) that will start other programs if found in a particular folder. I want to ensure it only ever starts programs which are signed with our Corporate certificate (Verisign approved etc).  Essentially then it will only start the programs with the same certificate as itself. I don't want to ship the certificate itself.</p>
  
  <p>I've been searching the web and the system namespace and haven't found a clear example that reads the certificate data from a file and also validates it, and can check against another file.  The closest I've found is Signtool and and having this verification in a separate exe is kind of point less.  I know the Strong Naming stuff wont help because a digitally signed file is different as helpfully explained here (http://blog.codingoutloud.com/2010/03/13/three-ways-to-tell-whether-an-assembly-dl-is-strong-named/)   Also some other examples in SO showing encryption and verification of raw data but not an assembly where it's packaged up together in some way.</p>
  
  <p>Any ideas or suggestions?</p>