Односторонний TLS, отправка GET запроса
using var httpClient =
new HttpClient(
new CpHttpHandler
{
SslOptions = new()
{
// Не проверяем удалённый сертификат в данном примере.
RemoteCertificateValidationCallback =
(object sender,
CpX509Certificate2? certificate,
CpX509Chain? chain,
SslPolicyErrors sslPolicyErrors) => true
}
});
var response = await httpClient.GetAsync("https://some-gost-tls-url");
Двухсторонний TLS, отправка GET запроса
// Загружаем сертификат клиента, например из файла:
var clientCertificatePfx = File.ReadAllBytes(pathToPfx);
using var cert =
new CpX509Certificate2(
clientCertificatePfx,
"11111111",
X509KeyStorageFlags.EphemeralKeySet);
using var httpClient =
new HttpClient(
new CpHttpHandler
{
SslOptions = new()
{
// Указываем сертификат клиента.
ClientCertificates = [cert],
// Не проверяем удалённый сертификат в данном примере.
RemoteCertificateValidationCallback =
(object sender,
CpX509Certificate2? certificate,
CpX509Chain? chain,
SslPolicyErrors sslPolicyErrors) => true
}
});
var response = await httpClient.GetAsync("https://some-gost-tls-url");