private async Task DeleteCertificate(DeleteBatchCertificateRequest request)
        {
            _logger.LogInformation("DeleteCertificate Before set Certificate to Deleted in db");
            await _certificateRepository.Delete(request.Uln, request.StandardCode, ExternalApiConstants.ApiUserName, CertificateActions.Delete);

            _logger.LogInformation("DeleteCertificate Certificate set to Deleted in db");
        }
        private async Task DeleteEpaDetails(DeleteBatchEpaRequest request)
        {
            _logger.LogInformation("DeleteEpaDetails Before Get Certificate from db");
            var certificate = await _certificateRepository.GetCertificate(request.Uln, request.StandardCode);

            if (certificate is null)
            {
                throw new NotFound();
            }
            else
            {
                _logger.LogInformation("DeleteEpaDetails Before Removing EpaDetails CertificateData");
                var certData = JsonConvert.DeserializeObject <CertificateData>(certificate.CertificateData);
                certData.EpaDetails = new EpaDetails {
                    Epas = new List <EpaRecord>()
                };
                certificate.CertificateData = JsonConvert.SerializeObject(certData);
                await _certificateRepository.Update(certificate, ExternalApiConstants.ApiUserName, CertificateActions.Epa);
            }

            _logger.LogInformation("DeleteEpaDetails Before set Certificate to Deleted in db");
            await _certificateRepository.Delete(request.Uln, request.StandardCode, ExternalApiConstants.ApiUserName, CertificateActions.Delete);

            _logger.LogInformation("DeleteEpaDetails Certificate set to Deleted in db");
        }
        public CreatePrivateCertificateResult IssuePendingCertificate(Guid id, ClaimsPrincipal user)
        {
            PendingCertificate pendingCertificate = certificateRepository.Get <PendingCertificate>(id);

            KeyUsage keyUsage = dataTransformation.ParseKeyUsage(pendingCertificate.KeyUsage);

            AdcsTemplate template = templateLogic.DiscoverTemplate(pendingCertificate.CipherAlgorithm, pendingCertificate.Provider, keyUsage);

            if (authorizationLogic.IsAuthorized(template, user))
            {
                CertificateRequest csr = certificateProvider.CreateCsrKeyPair(dataTransformation.NewCertificateSubjectFromModel(pendingCertificate), pendingCertificate.CipherAlgorithm, pendingCertificate.KeySize, pendingCertificate.Provider, SigningRequestProtocol.Pkcs10);

                MicrosoftCertificateAuthority ca = configurationRepository.GetPrivateCertificateAuthority(pendingCertificate.HashAlgorithm);

                CertificateAuthorityRequestResponse response = ca.Sign(csr, template.Name, template.KeyUsage);

                CreatePrivateCertificateResult result = ProcessCertificateAuthorityResponse(pendingCertificate, response, csr.Subject, user);

                certificateRepository.Delete <PendingCertificate>(id);

                return(result);
            }
            else
            {
                throw new UnauthorizedAccessException("Current user is not authorized to issue pending certificates");
            }
        }
Example #4
0
 public JsonResult DenyPendingCertificate(Guid id)
 {
     certificateRepository.Delete <PendingCertificate>(id);
     return(http.RespondSuccess());
 }
        public async Task <Unit> Handle(DeleteCertificateRequest request, CancellationToken cancellationToken)
        {
            await _certificateRepository.Delete(request.Uln, request.StandardCode, request.UserName, CertificateActions.Delete, true, request.ReasonForChange, request.IncidentNumber);

            return(Unit.Value);
        }
Example #6
0
 public void Delete(Certificate certificate)
 {
     _certificateRepository.Delete(certificate);
 }