Beispiel #1
0
        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);
        }
Beispiel #2
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);
        }
Beispiel #3
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);
        }