public static TlsResultsEvaluated GetHostNotFoundResults(string hostname, TlsResults tlsResults)
        {
            TlsEvaluatedResult tlsEvaluatedResult = new TlsEvaluatedResult(ErrorId2, EvaluatorResult.FAIL,
                                                                           $"This hostname {hostname} does not exist.");

            return(CreateSingleTlsResult(hostname, tlsEvaluatedResult, tlsResults));
        }
 private void AddAdvisoryMessage(List <TlsEvaluatedResult> messages, TlsEvaluatedResult tlsEvaluatedResult)
 {
     if (tlsEvaluatedResult != null && (tlsEvaluatedResult.Result == EvaluatorResult.FAIL ||
                                        tlsEvaluatedResult.Result == EvaluatorResult.INCONCLUSIVE ||
                                        tlsEvaluatedResult.Result == EvaluatorResult.INFORMATIONAL ||
                                        tlsEvaluatedResult.Result == EvaluatorResult.WARNING))
     {
         messages.Add(tlsEvaluatedResult);
     }
 }
        public static TlsResultsEvaluated GetConnectionFailedResults(string hostname, string errorDescription,
                                                                     TlsResults tlsResults)
        {
            string errorMessage =
                "We were unable to create a TLS connection with this server. This could be because the server does not support " +
                "TLS or because Mail Check servers have been blocked. We will keep trying to test TLS with this server, " +
                $"so please check back later or get in touch if you think there's a problem.";

            if (!string.IsNullOrWhiteSpace(errorDescription))
            {
                errorMessage += $" Error description \"{errorDescription}\".";
            }

            TlsEvaluatedResult tlsEvaluatedResult = new TlsEvaluatedResult(ErrorId1, EvaluatorResult.INCONCLUSIVE, errorMessage);

            return(CreateSingleTlsResult(hostname, tlsEvaluatedResult, tlsResults));
        }
 private static TlsResultsEvaluated CreateSingleTlsResult(string host, TlsEvaluatedResult tlsEvaluatedResult,
                                                          TlsResults tlsResults) =>
 new TlsResultsEvaluated(host, tlsResults.Failed,
                         new TlsRecords(new TlsRecord(tlsEvaluatedResult, tlsResults.Tls12AvailableWithBestCipherSuiteSelected),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS)),
                                        new TlsRecord(new TlsEvaluatedResult(Guid.NewGuid(), EvaluatorResult.PASS))));
 public RuleTypedTlsEvaluationResult(TlsTestType type, TlsEvaluatedResult tlsEvaluatedResult)
 {
     Type = type;
     TlsEvaluatedResult = tlsEvaluatedResult;
 }