Can anyone point me to a good introductory materials on X509 certificates with examples in C#.
You can begin here
X509Certificate MSDN Resource
The System.Security.Cryptography.X509Certificates namespace contains the common language runtime implementation of the Authenticode X.509 v.3 certificate. This certificate is signed with a private key that uniquely and positively identifies the holder of the certificate.
I found this particularly helpful:
Nine simple steps to enable X.509 certificates on WCF
Also, if anyone's having trouble installing the windows devlopment sdk (to get MakeCert.exe), untick the c++ options in the installer and it seems to work fine.
I found this C# example pretty helpful in figuring out how to generate new certificates.
Also this blog post covering the more general concepts
Other than that you'll need the platform SDK installed, which does also include several other examples (most in C++, but a couple in C# and VB too).