private static bool InternalTryParse(string s, out string subject, out SmtpDomainWithSubdomains commonName, out string issuer, out SmtpDomainWithSubdomains[] domains, out bool invalidDomainError) { domains = null; Match match = Regex.Match(s, "^(<I>([^<]+))?(<S>([^<]+))(<D>(.+))?", RegexOptions.IgnoreCase); if (!SmtpX509Identifier.TryParseFromRegexMatch(match, out subject, out commonName, out issuer, out invalidDomainError)) { return(false); } if (match.Success && !string.IsNullOrEmpty(match.Groups[6].Value)) { string[] array = match.Groups[6].Value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); domains = new SmtpDomainWithSubdomains[array.Length]; for (int i = 0; i < array.Length; i++) { if (!SmtpDomainWithSubdomains.TryParse(array[i], out domains[i])) { invalidDomainError = true; return(false); } } } return(true); }
private static bool InternalTryParse(string s, out string subject, out SmtpDomainWithSubdomains commonName, out string issuer, out bool invalidDomainError) { Match match = Regex.Match(s, "^(<I>([^<]+))?(<S>(.+))", RegexOptions.IgnoreCase); return(SmtpX509Identifier.TryParseFromRegexMatch(match, out subject, out commonName, out issuer, out invalidDomainError)); }