Inheritance: Goedel.ASN1.Root
 /// <summary>
 /// Sign the request
 /// </summary>
 /// <param name="SigningKey"></param>
 public void Sign(CryptoProviderSignature SigningKey) {
     SignatureAlgorithm = new AlgorithmIdentifier(SigningKey.OID);
     var SignatureData = SigningKey.Sign(CertificationRequestInfo.DER());
     Signature = SignatureData.Integrity;
     }
 /// <summary>
 /// Create a TBSCertificate item from a X509Certificate2 object.
 /// </summary>
 /// <param name="X509Cert"></param>
 public TBSCertificate(X509Certificate2 X509Cert) {
     Version = X509Cert.Version;
     SerialNumber = BaseConvert.FromBase16String(X509Cert.SerialNumber);
     Signature = new AlgorithmIdentifier(X509Cert.SignatureAlgorithm);
     Issuer = Parse(X509Cert.IssuerName);
     Validity = new Validity(X509Cert.NotBefore, X509Cert.NotAfter);
     Subject = Parse(X509Cert.SubjectName);
     Extensions = new List<Extension>();
     foreach (var Extension in X509Cert.Extensions) {
         Extensions.Add(Parse(Extension));
         }
     }