Advtools.ADVpki.CertificatesAuthority.SignRequest C# (CSharp) Method

SignRequest() public method

public SignRequest ( string csrFile, Usage usage, int validity, System.Security.Cryptography.X509Certificates storeName ) : X509Certificate2
csrFile string
usage Usage
validity int
storeName System.Security.Cryptography.X509Certificates
return System.Security.Cryptography.X509Certificates.X509Certificate2
        public MSX509.X509Certificate2 SignRequest(string csrFile, Usage usage, int validity, MSX509.StoreName storeName)
        {
            Pkcs10CertificationRequest request = ReadPkcs10(csrFile);
            var info = request.GetCertificationRequestInfo();
            SubjectPublicKeyInfo publicKeyInfo = info.SubjectPublicKeyInfo;

            RsaPublicKeyStructure publicKeyStructure = RsaPublicKeyStructure.GetInstance(publicKeyInfo.GetPublicKey());
            RsaKeyParameters publicKey = new RsaKeyParameters(false, publicKeyStructure.Modulus, publicKeyStructure.PublicExponent);

            if(!request.Verify(publicKey))
                throw new ApplicationException("The CSR is not valid: verification failed");

            MSX509.X509Certificate2 root = GetRootCertificate();
            if(root == null)
                throw new ApplicationException("Root certificate not found");

            return InternalGenerateCertificate(info.Subject, usage, validity, storeName, publicKey, null, DotNetUtilities.GetKeyPair(root.PrivateKey).Private);
        }

Same methods

CertificatesAuthority::SignRequest ( string csrFile, Usage usage, int validity ) : X509Certificate2

Usage Example

Beispiel #1
0
        static void Main(string[] args)
        {
            try
            {
                ShowInformation();
                ProgramOptions options = ParseCommandLine(args);
                if (options == null)
                {
                    return;
                }

                StoreLocation store = options.MachineStore ? StoreLocation.LocalMachine : StoreLocation.CurrentUser;

                CertificatesAuthority ca = new CertificatesAuthority(options.AuthorityName, store);
                if (options.Pkcs10File != null)
                {
                    ca.SignRequest(options.Pkcs10File, options.Usage, 0);
                }
                else
                {
                    ca.GenerateCertificate(options.CertificateName, options.Usage, 0);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
All Usage Examples Of Advtools.ADVpki.CertificatesAuthority::SignRequest