public async Task CanIssueSan() { var accountKey = await Helper.LoadkeyV1(); var csr = new CertificationRequestBuilder(); csr.AddName("C=CA, ST=Ontario, L=Toronto, O=Certes, OU=Dev, CN=www.certes-ci.dymetis.com"); csr.SubjectAlternativeNames.Add("mail.certes-ci.dymetis.com"); csr.SubjectAlternativeNames.Add("sso.certes-ci.dymetis.com"); var dirUri = await IntegrationHelper.GetAcmeUriV1(); using (var client = new AcmeClient(IntegrationHelper.GetAcmeHttpHandler(dirUri))) { client.Use(accountKey.Export()); await AuthorizeDns(client, "www.certes-ci.dymetis.com"); await AuthorizeDns(client, "mail.certes-ci.dymetis.com"); await AuthorizeDns(client, "sso.certes-ci.dymetis.com"); // should returns the valid ID var authz = await client.NewAuthorization(new AuthorizationIdentifier { Type = AuthorizationIdentifierTypes.Dns, Value = "www.certes-ci.dymetis.com", }); Assert.Equal(EntityStatus.Valid, authz.Data.Status); var authzByLoc = await client.GetAuthorization(authz.Location); Assert.Equal(authz.Data.Identifier.Value, authzByLoc.Data.Identifier.Value); var cert = await client.NewCertificate(csr); var pfx = cert.ToPfx(); pfx.AddTestCert(); pfx.Build("my.pfx", "abcd1234"); await client.RevokeCertificate(cert); } }
public async Task CanIssueSan() { var csr = new CertificationRequestBuilder(); csr.AddName("CN=CA, ST=Ontario, L=Toronto, O=Certes, OU=Dev, CN=www.certes-ci.dymetis.com"); csr.SubjectAlternativeNames.Add("mail.certes-ci.dymetis.com"); csr.SubjectAlternativeNames.Add("sso.certes-ci.dymetis.com"); using (var client = new AcmeClient(WellKnownServers.LetsEncryptStaging)) { client.Use(Helper.Loadkey().Export()); await Task.WhenAll( AuthorizeDns(client, "www.certes-ci.dymetis.com"), AuthorizeDns(client, "mail.certes-ci.dymetis.com"), AuthorizeDns(client, "sso.certes-ci.dymetis.com")); var cert = await client.NewCertificate(csr); } }