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

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

private InternalGenerateCertificate ( Org.BouncyCastle.Asn1.X509.X509Name name, Usage usage, int validity, System.Security.Cryptography.X509Certificates storeName, AsymmetricKeyParameter publicKey, AsymmetricKeyParameter privateKey, AsymmetricKeyParameter signator ) : X509Certificate2
name Org.BouncyCastle.Asn1.X509.X509Name
usage Usage
validity int
storeName System.Security.Cryptography.X509Certificates
publicKey Org.BouncyCastle.Crypto.AsymmetricKeyParameter
privateKey Org.BouncyCastle.Crypto.AsymmetricKeyParameter
signator Org.BouncyCastle.Crypto.AsymmetricKeyParameter
Результат System.Security.Cryptography.X509Certificates.X509Certificate2
        private MSX509.X509Certificate2 InternalGenerateCertificate(X509Name name, Usage usage, int validity, MSX509.StoreName storeName, AsymmetricKeyParameter publicKey, AsymmetricKeyParameter privateKey, AsymmetricKeyParameter signator)
        {
            DateTime notBefore = DateTime.Now.AddDays(-1);

            // Build a X509v3 certificate
            X509V3CertificateGenerator builder = new X509V3CertificateGenerator();
            builder.SetSerialNumber(new BigInteger(GenerateSerial()));
            builder.SetIssuerDN(authorityName_ ?? name);
            builder.SetSubjectDN(name);
            builder.SetPublicKey(publicKey);
            builder.SetNotBefore(notBefore);
            builder.SetNotAfter(notBefore.AddDays(validity == 0 ? defaultCertificatesValidity_ : validity));
            builder.SetSignatureAlgorithm("SHA1WithRSA");

            // Add the extensions
            AddExtensions(builder, usage);

            // Sign the certificate
            X509Certificate newCertificate = builder.Generate(signator);

            // Create a .NET X509Certificate2 from the BouncyCastle one and put the private key into it
            MSX509.X509Certificate2 certificate = CreateCertificate(name, newCertificate, privateKey);

            // Store the certificate
            StoreCertificate(name, certificate, storeName);

            return certificate;
        }

Same methods

CertificatesAuthority::InternalGenerateCertificate ( Org.BouncyCastle.Asn1.X509.X509Name name, Usage usage, int validity, System.Security.Cryptography.X509Certificates storeName, System.Security.Cryptography.X509Certificates issuer ) : X509Certificate2