|
5 / 4 / 2
Регистрация: 12.07.2023
Сообщений: 69
|
||||||
Колекция сертификатов из httpcontext07.01.2024, 22:39. Показов 1331. Ответов 6
Метки нет (Все метки)
Всем привет! Столкнулся с проблемой получения коллекции сертификатов из httpcontext.
Можно получить сертификат через Connection, но мне нужна именно коллекция (Отправляется несколько сертификатов).
Судя по всему нужно получить что то вроде HttpClientHandler и уже оттуда достать коллекцию.
0
|
||||||
| 07.01.2024, 22:39 | |
|
Ответы с готовыми решениями:
6
Обобщенная колекция в DbContext Запрос сертификатов по списку номеров сертификатов: что делает приведенная строка кода Колекция програм |
|
|
|
| 07.01.2024, 23:50 | |
|
Вы уверены что в контексте может быть коллекция? Не путаете с получением обычной коллекции из контейнера сертификатов?
Ну потому что я не помню ни одного аналогичного поведения ни в одной системе. Везде вы должны указать только Один сертификат. Тем более клиентский. Каким образом вы бы сказали что у вас не один документ, а три?
0
|
|
|
5 / 4 / 2
Регистрация: 12.07.2023
Сообщений: 69
|
|||||||||||
| 08.01.2024, 00:24 [ТС] | |||||||||||
|
Про то что в контексте может быть коллекция не уверен.
Если я правильно вас понял контейнер сертификатов вы имеете ввиду X509CertificateStore? Если да то я просто подгружаю сертификаты из $HOME директории (результат загрузки это структура FullIdentity). Вот собственно она:
Вот кусок кода:
Cert - это сертификат соответствующий CA сертификату (ca.cert) Leaf - это сертификат соответствующий сертификату (leaf.cert) и собственно приватный ключ именно от этого сертификата
0
|
|||||||||||
|
|
||||||
| 08.01.2024, 00:40 | ||||||
|
Смысл кода не совсем понятен. И я не занимался этим настолько плотно, но... интернет выдаёт похожие ответы. И все они ведут к тому что...
- стандартная практика - один сертификат - и видимо это всё-таки сертификаты использующиеся для "рукопожатия" - и на этом моменте мы начинаем "перебирать" коллекцию. А обходной путь - опять же отключать валидацию сертификатов. И судя по названию "ServerCertificateCustomValidationCallba ck" - это всё же валидация серверного видимо с вашим клиентским. Вот и всё. Configure Certificates with HttpClient Authentication Add client certificate to .NET Core HttpClient
0
|
||||||
|
5 / 4 / 2
Регистрация: 12.07.2023
Сообщений: 69
|
||||||
| 12.01.2024, 20:26 [ТС] | ||||||
|
Возможно кому-то будет полезным:
Добавлено через 13 минут Возможно кому-то пригодится. Судя по всему в C# нельзя передать кортеж сертификатов (например в GO tls.conn имеет поле peerCertificates для передачи кортежа) Решение данной проблемы было таким: добавить два заголовка Client-Cert и Client-Cert-Chain. Client-Cert соответствует handler.ClientCertificates. Client-Cert-Chain это остальная цепочка сертификатов не включающая сертификат Client-Cert. Чуть больше можно найти об этом тут RFC 9440 https://datatracker.ietf.org/doc/rfc9440/. Одно но в данном документе указано что сертификат передается как DER base 64 In effect, this means that the binary DER certificate is encoded using base64 (without line breaks, spaces, or other characters outside the base64 alphabet) and delimited with colons on either side. Я же решил передавать Rawdata. P.S. если кто решит использовать DER base 64: RFC 2045, which defined Base64, REQUIRES a newline after 76 characters (max).Jul 3, 2017
0
|
||||||
|
|
|
| 12.01.2024, 21:23 | |
|
Мне всё равно не понятен смысл этого действия - отправки цепочки сертификатов. Из прочитанного сделал вывод - что это цепочка серверных сертификатов для валидации клиентского. Если так, то зачем? ведь цепочку можно проверить самостоятельно, через сервера валидации. А тут передача каких то данных, типа данные настолько доверенные, что им нужно доверять обязательно. Странно.
Ну а про RFC. Там столько больших слов "Обязательно" "Не должно быть" "Должны" и всё связано с тем что эти данные настолько приватные и небезопасные, что не должны никуда утечь и их надо сжечь, удалить и всех свидетелей тоже устранить. Это значит что одно неловкое движение - и вы отправили в интернет секретную информацию. Ну такое...
0
|
|
|
5 / 4 / 2
Регистрация: 12.07.2023
Сообщений: 69
|
|
| 06.02.2024, 16:55 [ТС] | |
|
Идея была такая что это цепочка клиентских сертификатов отправляется на сервер для подписания. Получается что каждый узел имеет свой CA (ca.cert и ca.key) он самоподписанный. Также имеется identity который подписан CA (также содержит identity.cert и identity.key) более того identity еще может содержать Rest chain.
Структура identity: CA Certificate = это собственно публичный ключ от CA Leaf Certificate = это собственно публичный ключ от identity подписанный CA RestChain Certificate = это собственно сертификаты которые будут после подписания: публичный ключ CA и тд Соответсвенно identity отправляется на подписание на сервер где на сервере он подписывается своим CA. Подписываем мы CA identity используя CA сервера. После подписания отправляем назад ответ: Подписанный сертификат (CA), публичный ключ CA сервера и то что в остальной цепочке. Leaf останется тем же. Зачем же столько сертификатов: по идее identity Leaf должен использоваться для коммуникации. CA это по сути идентификатор.
0
|
|
| 06.02.2024, 16:55 | |
|
Помогаю со студенческими работами здесь
7
Колекция ответных док-ов Колекция в ArrayList<e> в Java класс HttpContext HttpContextBase и HttpContext httpcontext current = null Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|