示例#1
0
        public async Task OrderFinalizeAsync()
        {
            var order = await GetOrderInfoAsync();

            var topDomain = await GetTopDomainAsync();

            var csrBuilder = new CertificationRequestBuilder();

            csrBuilder.AddName($"C=Country, ST=State, L=City, O=Org, CN={topDomain}");

            //setup the san if necessary
            csrBuilder.SubjectAlternativeNames = order.Domains.Where(a => a != topDomain).ToList();

            byte[] csrByte = csrBuilder.Generate();

            await OrderContext.Finalize(csrByte);

            File.WriteAllText(Path.Combine(_workDir, $"{topDomain}-{FreeCertConsts.CertPemPrivateKeyName}"), csrBuilder.Key.ToPem(),
                              Encoding.UTF8);
        }