Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Александр Сергеевич  
#1 Оставлено : 22 февраля 2019 г. 10:39:42(UTC)
Александр Сергеевич

Статус: Участник

Группы: Участники
Зарегистрирован: 22.02.2019(UTC)
Сообщений: 10
Российская Федерация
Откуда: Иркутск

Здравствуйте

пытаемся реализовать OAuth авторизацию по этому сценарию https://dss.cryptopro.ru...n/oauth/actas-token.html
тестовый сервер для OAuth https://stenddss.cryptopro.ru/<....>/

установлен Crypto Pro .Net версия 1.0.6893

в сценарии указано "Также необходимо указать операторский сертификат в качестве клиентского SSL/TLS сертификата, по нему будет осуществляться аутентификация оператора на ЦИ."

взяли пример для запроса из SDK

Код:

X509Certificate2 certificate = GetClientCertificate();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://stenddss.cryptopro.ru/<...>/oauth/authorize/certificate?client_id=<...>&response_type=code&scope=dss&redirect_uri={urn:ietf:wg:oauth:2.0:oob:auto}&resource=urn:cryptopro:dss:signserver:signserver");
            request.MaximumAutomaticRedirections = 4;
            request.MaximumResponseHeadersLength = 4;
            request.Credentials = CredentialCache.DefaultCredentials;
            request.ClientCertificates.Add(certificate);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (request.ServicePoint.Certificate != null)
            {
                Console.WriteLine("Сертификат сервера:");
                X509Certificate c = request.ServicePoint.Certificate;
                Console.WriteLine("Имя:" + c.Subject.ToString());
                Console.WriteLine("Издатель:" + c.Issuer.ToString());
                Console.WriteLine("Алгоритм ключа:" + c.GetKeyAlgorithm().ToString());
            }

            Console.WriteLine("Размер содержимого {0}", response.ContentLength);
            Console.WriteLine("Тип содержимого {0}", response.ContentType);

            // Получаем поток ассоциированный с ответом.
            Stream receiveStream = response.GetResponseStream();

            // создаем высокоуровневый поток с требуемой кодировкой.
            StreamReader readStream = new StreamReader(receiveStream, Encoding.Default);

            Console.WriteLine("Поток ответа успешно получен.");
            Console.WriteLine(readStream.ReadToEnd());
            response.Close();
            readStream.Close();


на строчке HttpWebResponse response = (HttpWebResponse)request.GetResponse();

происходит исключение System.Net.WebException: 'The request was aborted: Could not create SSL/TLS secure channel.'

версия .NET Framework 4.6.1

GetClientCertificate() возвращает операторский сертификат у которого в свойствах алгоритм шифрования указан ГОСТ, приватный ключ так же присутствует, имеет тип CryptoPro.Sharpei.Gost3410CryptoServiceProvider

похоже что во время установки защищенного соединения происходит какая то ошибка с алгоритмами шифрования, что ещё нужно настроить/установить чтобы можно было выполнять запросы для OAuth авторизации?
Offline Георгий Садофьев  
#2 Оставлено : 22 февраля 2019 г. 11:03:12(UTC)
Георгий Садофьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 14.10.2011(UTC)
Сообщений: 144
Мужчина

Поблагодарили: 31 раз в 30 постах
Добрый день!

На stenddss ГОСТ-сертификат веб-сервера настроен на порту 4430, попробуйте прописать этот порт в запросе.
Техническую поддержку оказываем тут
Наша база знаний
Offline Александр Сергеевич  
#3 Оставлено : 22 февраля 2019 г. 14:06:28(UTC)
Александр Сергеевич

Статус: Участник

Группы: Участники
Зарегистрирован: 22.02.2019(UTC)
Сообщений: 10
Российская Федерация
Откуда: Иркутск

спасибо! указали порт и соединение удалось установить
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.