Если я просматриваю эту страницу с помощью Firefox, я вижу три сертификата.

С помощью Firefox я могу экспортировать их все и сохранить на диск.
Итак, я хочу сделать это на C#.
Я начал получать сертификаты с помощью следующего кода.
Код: Выделить всё
///
/// Get and write certificate from URL into file in path
///
///
URL of website with certficate
/// Path where you want to store certificate
private static void SaveCertificate(String _URL, String _path)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_URL);
request.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
X509Certificate2 cert = new X509Certificate2(request.ServicePoint.Certificate);
File.WriteAllText(_path, ExportToPEM(cert));
}
catch (Exception)
{
}
}
///
/// Export a certificate to a PEM format string
///
/// The certificate to export
/// A PEM encoded string
public static string ExportToPEM(X509Certificate2 _cert)
{
StringBuilder builder = new StringBuilder();
try
{
builder.AppendLine("-----BEGIN CERTIFICATE-----");
builder.AppendLine(Convert.ToBase64String(_cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks));
builder.AppendLine("-----END CERTIFICATE-----");
}
catch (Exception)
{
}
return builder.ToString();
}
Я также попробовал решение отсюда SO Вопрос, но у меня это не сработало.
Мой вопрос: как я могу получить все сертификаты по URL-адресу?
Подробнее здесь: https://stackoverflow.com/questions/469 ... -a-website
Мобильная версия