[CRYPTO]Basic programming resource on X509 certificates

X509 certificates is an important component and concept in Public Key Infrastructure(for Network Security). And in application programming, especially for distributed application scenario, we’ll often deal with things related to X509 certificates. This wiki is targeting at basic guide on x509 certificates and how we can use it in our application development(expecially for .NET distributed application development). The content is divided into the following three sections:

l X509 & certificate general introduction & knowledge

l How x509 certificate applies in .NET application

l How to use x509 certificates for testing

X509 & certificate general introduction & knowledge

#X.509 concept

https://en.wikipedia.org/wiki/X.509

#Internet X.509 Public Key Infrastructure

https://www.ietf.org/rfc/rfc2459.txt

#Understanding Certificates

https://technet.microsoft.com/en-us/library/cc758686.aspx

#Using Certificates

https://technet.microsoft.com/en-us/library/cc778411.aspx

How x509 certificate applies in .NET application

For general .NET development:

#EncryptTo/DecryptTo: Encryption in .NET with CryptoAPI Certificate Stores

https://msdn.microsoft.com/en-us/library/ms867080.aspx

#Support Certificates In Your Applications With The .NET Framework 2.0

https://msdn.microsoft.com/en-us/magazine/cc163454.aspx

#Cryptography in Microsoft.NET Part III: Digital Certificates

https://www.c-sharpcorner.com/UploadFile/Gowri%20S%20Paramasivam/Cryptography311242005015640AM/Cryptography3.aspx

For ASP.NET web application development:

#How to implement SSL in IIS

https://support.microsoft.com/kb/299875

#How to Setup SSL on IIS 7.0

https://learn.iis.net/page.aspx/144/how-to-setup-ssl-on-iis-7/

#How to send a client certificate by using the HttpWebRequest and HttpWebResponse classes in Microsoft Visual C# .NET

https://support.microsoft.com/kb/895971

#HOW TO: Secure an ASP.NET Application Using Client-Side Certificates

https://support.microsoft.com/kb/315588

For WCF application development

#Working with Certificates(WCF)

https://msdn.microsoft.com/en-us/library/ms731899.aspx

#Suwat Ch.'s Blogs : X509 and WCF Security

https://blogs.msdn.com/suwatch/archive/2007/04/06/x509-and-wcxf-security.aspx

#How to: Secure a Service with an X.509 Certificate

https://msdn.microsoft.com/en-us/library/ms788968.aspx

How to use x509 certificates for testing

Tools & components for certificate generating:

#Certificate Creation Tool (Makecert.exe)

https://msdn.microsoft.com/en-us/library/bfsktky3(VS.80).aspx

#Create Test Certificate via Visual Studio UI

https://msdn.microsoft.com/en-us/library/ms165261(VS.80).aspx

#Certificate Manager Tool (Certmgr.exe)

https://msdn.microsoft.com/en-us/library/e78byta0(VS.80).aspx

#WinHttpCertCfg a Command Line Certificate Configuration Tool

https://weblogs.asp.net/hernandl/archive/2005/02/09/WinHttpCertCfgTool.aspx

#Certificate MMC Snap-In

https://msdn.microsoft.com/en-us/library/ms788967.aspx

#windows certificate services(win sever 2000, 2003, 2008..)

https://technet.microsoft.com/en-us/library/bb727022.aspx

Articles about using test certificate:

#How to Obtain a Certificate Using Windows Server 2003 Stand-Alone CA in Operations Manager 2007

https://technet.microsoft.com/en-us/library/bb735417.aspx

#How to use makecert.exe to create a self-signed test certificate that can be used with IIS for SSL

https://www.inventec.ch/chdh/notes/14.htm

#How-to: Create a Server Certificate for a WCF Service

https://blog.functionalfun.net/2008/05/how-to-create-server-certificate-for.html