Improved Debug output + Fixed certificate handling

The x509Certificate2 is a subclass, though a superset, of the x509Certificate.
* It represents an actual X509 certificate.
* It was new in the .NET Framework v2.0.
* This class gives you access to all the V2 and V3 properties (authority key identifier and key usage).
* It supports loading a certificate from a certificate store.