public async Task <List <DomainTlsSecurityProfile> > UpdateSecurityProfiles(List <DomainTlsSecurityProfile> tlsSecurityProfiles) { List <DomainTlsSecurityProfile> domainTlsSecurityProfiles = await _tlsSecurityProfileUpdater.UpdateSecurityProfiles(tlsSecurityProfiles); foreach (DomainTlsSecurityProfile domainTlsSecurityProfile in domainTlsSecurityProfiles) { List <MxRecordTlsSecurityProfile> currentProfiles = domainTlsSecurityProfile.Profiles .Where(_ => !_.TlsSecurityProfile.EndDate.HasValue).ToList(); CertificateResultMessage certificateResultMessage = new CertificateResultMessage( domainTlsSecurityProfile.Domain.Name, currentProfiles .Select(_ => new HostInfo( _.MxRecord.Hostname, _.TlsSecurityProfile.TlsResults.Certificates.Select(c => Convert.ToBase64String(c.RawData)).ToList(), GetTlsCipherSuitesFromResults(_.TlsSecurityProfile.TlsResults.Results))) .ToList()); await _publisher.Publish(certificateResultMessage, _config.PublisherConnectionString); _log.Debug($"Published DomainTlsProfileChangedMessage for domain: ({domainTlsSecurityProfile.Domain.Id}:{domainTlsSecurityProfile.Domain.Name})"); } return(domainTlsSecurityProfiles); }
public async Task <List <DomainTlsSecurityProfile> > UpdateSecurityProfiles(List <DomainTlsSecurityProfile> tlsSecurityProfiles) { List <DomainTlsSecurityProfile> domainTlsSecurityProfiles = await _tlsSecurityProfileUpdater.UpdateSecurityProfiles(tlsSecurityProfiles); await _domainTlsSecurityProfileDao.InsertOrUpdateSecurityProfiles(domainTlsSecurityProfiles); return(domainTlsSecurityProfiles); }
public async Task <List <DomainTlsSecurityProfile> > UpdateSecurityProfiles(List <DomainTlsSecurityProfile> tlsSecurityProfiles) { List <DomainTlsSecurityProfile> domainTlsSecurityProfiles = await _tlsSecurityProfileUpdater.UpdateSecurityProfiles(tlsSecurityProfiles); foreach (DomainTlsSecurityProfile domainTlsSecurityProfile in domainTlsSecurityProfiles) { await _publisher.Publish(new DomainTlsProfileChanged(domainTlsSecurityProfile.Domain.Id), _config.PublisherConnectionString); _log.Debug($"Published DomainTlsProfileChangedMessage for domain: ({domainTlsSecurityProfile.Domain.Id}:{domainTlsSecurityProfile.Domain.Name})"); } return(domainTlsSecurityProfiles); }