public static string GetOidValue(Org.BouncyCastle.X509.X509Certificate certificate, string oidKey) { var oidValue = default(string); if (certificate.GetSubjectAlternativeNames() != null) { var alternativeNames = certificate .GetSubjectAlternativeNames() .Cast <ArrayList>() .Where(o => o.Count == 2 && o[0].GetType() == typeof(int)); var oidKeys = alternativeNames .Where(o => o[1] != null) .Select(o => o[1].ToString()); var oidValues = oidKeys .Where(o => o.Contains('[')) .Where(o => o.Substring(1, o.IndexOf(',') - 1) == oidKey); oidValue = oidValues .FirstOrDefault(); } return(FormatOidValue(oidValue)); }