static int RunRootAuthority(RootOptions ro) { using (CertificateRootAuthority rootAuthority = new CertificateRootAuthority()) { X509Certificate2 cert = rootAuthority.GenerateRootCertificate(ro.SubjectName); byte[] pfxBytes = cert.Export(X509ContentType.Pfx, ro.PfxPassword); File.WriteAllBytes(ro.PfxFile + ".pfx", pfxBytes); if (false == ro.NoPem) { File.WriteAllText(ro.PfxFile + ".pem", cert.ToPem()); } } return(0); }
static int RunIntermediateOptions(IcaOptions io) { using (CertificateRootAuthority rootAuthority = new CertificateRootAuthority(io.InPfxFile, io.InPfxPassword)) { X509Certificate2 cert = rootAuthority.GenerateAndSignIntermediateCertificate(io.SubjectName); byte[] pfxBytes = cert.Export(X509ContentType.Pfx, io.PfxPassword); File.WriteAllBytes(io.PfxFile + ".pfx", pfxBytes); if (false == io.NoPem) { File.WriteAllText(io.PfxFile + ".pem", cert.ToPem()); } } return(0); }
static int RunSelfSignedOptions(SelfSignedOptions so) { using (CertificateRootAuthority rootAuthority = new CertificateRootAuthority()) { X509Certificate2 cert = rootAuthority.GenerateSelfSignedCertificate(so.SubjectName, so.DoNotAddDns, so.ValidDays); byte[] pfxBytes = cert.Export(X509ContentType.Pfx, so.PfxPassword); File.WriteAllBytes(so.PfxFile + ".pfx", pfxBytes); if (false == so.NoPem) { File.WriteAllText(so.PfxFile + ".pem", cert.ToPem()); } if (so.ExportKey) { File.WriteAllText(so.PfxFile + ".key", cert.ToPrivateKeyPkcs()); } } return(0); }