static String getEntryNameFromUrl(X509PublishedCrlLocationsExtension pubCrl) { String[] urls = pubCrl.GetUrLs().Where(x => x.ToUpper().Contains("LDAP://")).ToArray(); if (urls.Length == 0) { throw new ArgumentException("Cannot find target location."); } String[] tokens = urls[0].Split(new[] { "CN=" }, StringSplitOptions.RemoveEmptyEntries); return(HttpUtility.UrlDecode(tokens[1].TrimEnd(','))); }
static String getHostName(String suggestedHostName, X509CRL2 crl) { if (String.IsNullOrWhiteSpace(suggestedHostName)) { X509PublishedCrlLocationsExtension pubCrl = (X509PublishedCrlLocationsExtension)crl.Extensions[X509CertExtensions.X509PublishedCrlLocations]; if (pubCrl == null) { throw new ArgumentException("Cannot find target location."); } String[] urls = pubCrl.GetUrLs().Where(x => x.ToUpper().Contains("LDAP://")).ToArray(); if (urls.Length == 0) { throw new ArgumentException("Cannot find target location."); } var tokens = urls[0].ToUpper().Split(new[] { "CN=" }, StringSplitOptions.RemoveEmptyEntries); suggestedHostName = tokens[2]; } return(suggestedHostName); }