Example #1
0
        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);
        }
Example #3
0
        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);
        }