private RSACertificate CreateCertificate(RSACertificateRequest CertReq) { RSACertificate cert = new RSACertificate(); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(2048); string rsadata = rsa.ToXmlString(true); byte[] rsaData = Encoding.UTF8.GetBytes(rsadata); string base64rsa = Convert.ToBase64String(rsaData); cert._CertificateData = base64rsa; cert._CommonName = CertReq.CommonName; cert._Issuer = cert._CommonName; cert._IssueTime = DateTime.Now; cert._Years = CertReq.Years; cert._IssuerCertificateData = Convert.ToBase64String(Encoding.UTF8.GetBytes(rsa.ToXmlString(false))); return cert; }
public RSACertificate InvokeCertificate(RSACertificateRequest CertReq) { return CertReq.SelfSign ? CreateCertificate(CertReq) : InvokeCertificateFromCA(CertReq); }