private MSX509.X509Certificate2 GetRootCertificate()
{
List<X509Extension> extensions = new List<X509Extension>();
BasicConstraintsExtension constraints = new BasicConstraintsExtension();
constraints.CertificateAuthority = true;
constraints.Critical = true;
extensions.Add(constraints);
KeyUsageExtension keyUsage = new KeyUsageExtension();
keyUsage.KeyUsage = KeyUsages.keyCertSign | KeyUsages.cRLSign;
extensions.Add(keyUsage);
return CreateCertificate(state_.Config.X509.AuthorityName, extensions, null, state_.Config.X509.AuthorityName, MSX509.StoreName.Root, state_.Config.X509.RootValidity);
}