Добавление сертификата TLS в запрос API с исключением: запрос был прерван: не удалось создать безопасный канал SSL/TLS.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Добавление сертификата TLS в запрос API с исключением: запрос был прерван: не удалось создать безопасный канал SSL/TLS.

Сообщение Anonymous »

Чтобы иметь возможность использовать какой-либо API, мне нужно использовать сертификат TLS (в версии 1.1).

Мой код выглядит так:

Код: Выделить всё

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://someapi/request/");

request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = Encoding.UTF8.GetByteCount(postData);
request.KeepAlive = false;

request.ProtocolVersion = HttpVersion.Version11;

ServicePointManager.Expect100Continue = false;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

X509Certificate2 certificate = new X509Certificate2(@"d:\TLScertificate.p12", "password");

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);

try
{
store.Open(OpenFlags.ReadWrite);

if (!store.Certificates.Contains(certificate))
{
store.Add(certificate);
}

int indexOfCertificate = store.Certificates.IndexOf(certificate);
certificate = store.Certificates[indexOfCertificate];
}
finally
{
store.Close();
}

request.ClientCertificates.Add(certificate);
request.PreAuthenticate = true;

using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) // Exception
{
}
Во время request.GetResponse() я всегда получаю исключение: запрос был прерван: не удалось создать безопасный канал SSL/TLS.

Провайдер ответил мне, что:


Так должно быть,
Root Ca v1 test.pem в вашем хранилище доверенных сертификатов и
TLSCertificate в вашем хранилище ключей


Пожалуйста, сообщите мне, что мне делать с файлом .pem? Его надо добавить в запрос, так же, как и файл TLScertificate.p12? Когда я добавляю в запрос второй сертификат X509Certificate2 (без пароля), я все равно получаю ту же ошибку.

Подробнее здесь: https://stackoverflow.com/questions/351 ... was-aborte
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»