Advtools.ADVpki.CertificatesAuthority.CreateCertificate C# (CSharp) Метод

CreateCertificate() приватный Метод

private CreateCertificate ( Org.BouncyCastle.Asn1.X509.X509Name name, X509Certificate certificate, AsymmetricKeyParameter privateKey ) : X509Certificate2
name Org.BouncyCastle.Asn1.X509.X509Name
certificate X509Certificate
privateKey Org.BouncyCastle.Crypto.AsymmetricKeyParameter
Результат System.Security.Cryptography.X509Certificates.X509Certificate2
        private MSX509.X509Certificate2 CreateCertificate(X509Name name, X509Certificate certificate, AsymmetricKeyParameter privateKey)
        {
            var pkcs12Store = new Pkcs12StoreBuilder().Build();
            pkcs12Store.SetKeyEntry(GetFriendlyName(name), new AsymmetricKeyEntry(privateKey), new[] { new X509CertificateEntry(certificate) });
            var data = new MemoryStream();
            pkcs12Store.Save(data, pkcs12Password_.ToCharArray(), new SecureRandom(new CryptoApiRandomGenerator()));

            MSX509.X509KeyStorageFlags storage = MSX509.X509KeyStorageFlags.Exportable | MSX509.X509KeyStorageFlags.PersistKeySet |
                ((store_ == MSX509.StoreLocation.LocalMachine) ? MSX509.X509KeyStorageFlags.MachineKeySet : MSX509.X509KeyStorageFlags.UserKeySet);

            return new MSX509.X509Certificate2(data.ToArray(), pkcs12Password_, storage);
        }