public void PrivateCertificateProcessing_CreateCertificate_CngRsa2048_ClientServerAuth_Success() { KeyUsage keyUsage = KeyUsage.ServerAuthentication | KeyUsage.ClientAuthentication; CreatePrivateCertificateModel model = new CreatePrivateCertificateModel() { CipherAlgorithm = CipherAlgorithm.RSA, KeyUsage = keyUsage.ToString(), HashAlgorithm = HashAlgorithm.SHA256, KeySize = 2048, Provider = WindowsApi.Cng, SubjectAlternativeNamesRaw = "integrationtestdomain.com,integrationtestdomain", SubjectCity = "Seattle", SubjectCommonName = "integrationtestdomain", SubjectCountry = "US", SubjectDepartment = "Engineering", SubjectState = "WA", SubjectOrganization = "IntegrationTestingCorp" }; PrivateCertificateProcessing processor = new PrivateCertificateProcessing(certDb, configDb, certProvider, GetAuthorizationLogic_Allow(), templateLogic, GetAuditLogic()); CreatePrivateCertificateResult result = processor.CreateCertificateWithPrivateKey(model, user.Object); Assert.AreEqual(PrivateCertificateRequestStatus.Success, result.Status); }
public void PrivateCertificateProcessing_CreateCertificate_CngRsa2048_ClientServerAuth_ReturnedX509Certificate2HasClientServerAuthKeyUsage() { KeyUsage expected = KeyUsage.ServerAuthentication | KeyUsage.ClientAuthentication; CreatePrivateCertificateModel model = new CreatePrivateCertificateModel() { CipherAlgorithm = CipherAlgorithm.RSA, KeyUsage = expected.ToString(), HashAlgorithm = HashAlgorithm.SHA256, KeySize = 2048, Provider = WindowsApi.Cng, SubjectAlternativeNamesRaw = "integrationtestdomain.com,integrationtestdomain", SubjectCity = "Seattle", SubjectCommonName = "integrationtestdomain", SubjectCountry = "US", SubjectDepartment = "Engineering", SubjectState = "WA", SubjectOrganization = "IntegrationTestingCorp" }; PrivateCertificateProcessing processor = new PrivateCertificateProcessing(certDb, configDb, certProvider, GetAuthorizationLogic_Allow(), templateLogic, GetAuditLogic()); CreatePrivateCertificateResult result = processor.CreateCertificateWithPrivateKey(model, user.Object); X509Certificate2 cert = new X509Certificate2(result.PfxByte, result.Password); KeyUsage actualKeyUsage = x509Normalization.GetKeyUsage(cert); Assert.AreEqual(expected, actualKeyUsage); }
public JsonResult CreateCertificate(CreatePrivateCertificateModel model) { PrivateCertificateProcessing processor = new PrivateCertificateProcessing(certificateRepository, configurationRepository, certificateProvider, authorizationLogic, templateLogic, audit); CreatePrivateCertificateResult result = processor.CreateCertificateWithPrivateKey(model, User); return(http.RespondSuccess(result)); }