КриптоПро .NET
Search Results for

    Показать/Скрыть содержание

    Односторонний TLS, отправка GET запроса

    using var httpClient =
        new HttpClient(
            new CpHttpHandler
            {
                SslOptions = new()
                {
                    // С помощью данного коллбека можно реализовать собственный
                    // алгоритм проверки сертификата веб-сервера
                    // (в данном примере сертификат веб-сервера не проверяется).
                    // Если коллбек не задан, то проверка будет осуществляться
                    // на основе хранилищ сертификатов КриптоПро CSP.
                    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],
    
                    // С помощью данного коллбека можно реализовать собственный
                    // алгоритм проверки сертификата веб-сервера
                    // (в данном примере сертификат веб-сервера не проверяется).
                    // Если коллбек не задан, то проверка будет осуществляться
                    // на основе хранилищ сертификатов КриптоПро CSP.
                    RemoteCertificateValidationCallback =
                        (object sender,
                            CpX509Certificate2? certificate,
                            CpX509Chain? chain,
                            SslPolicyErrors sslPolicyErrors) => true
                }
            });
    
    var response = await httpClient.GetAsync("https://some-gost-tls-url");
    
    В этом разделе
    Наверх Generated by DocFX