169 похожих чатов

Добрый день! Можно ли как то свой сертификат заставить работать

? Self Signed. Есть скажем сервер на котором свой сертификат, и чтобы приложение с этим сертификатом ходило. Есть например статья https://habr.com/ru/company/surfstudio/blog/504914/ где вскользь упоминается такая возможность. Однако на практике не получается сделать. С обычным сертификатом, тем же от фейсбука в статье работает, а со своим нет. Есть ли у кого практика реализации? Посмотрел в интернеты в целом где-то приводятся примеры вроде как рабочие, а где-то наборот что ничего не работает (насколько я понял) В целом ощущение что пихать в SetTrustedCertificatesBytes самоподписанный не катит. Хотя справка упоминает некие кастомные сертификаты (To add a custom trusted certificate authority, or to send a client certificate to servers that request one, pass a SecurityContext object as the optional context argument to the HttpClient constructor. The desired security options can be set on the SecurityContext object.) В общем пробовал свои CA и тд, не работает всегда ошибка. При том что curl, postman, openssl s_client все работает, ходит устанавливает соединение, получает данные. Думал может в платформе дело всмысле в ios например но тут нашел пример вот этот https://github.com/dart-lang/sdk/issues/35462#issuecomment-570750234 Выше человек писал что у него рабоиче примеры с кастомными сертификатами но в этом сообщений уже ничего не работает, причем испольщзуется только дарт, все сертификаты генерируются по месту и сервер на дарте и запросы все в одном скрипте, можно просто запустить, и получить в моем случае похожую ошибку - хотя и не такую же. В общем если у кого был опыт буду благодарен если поделитесь

30 ответов

26 просмотров

Цель какая? SSL pinning?

Тоже не совсем понятна цель костыляния этого, когда есть nginx и ему подобные прокси..

Adoris- Автор вопроса

Lf

Adoris- Автор вопроса

Не понял как nginx поможет?

Эм, на целевом хосте разворачиваешь nginx вешаешь на него абсолютно все что хочешь, и создаёшь реверс прокси на твое приложение?

https://habr.com/ru/company/surfstudio/blog/504914/

Adoris- Автор вопроса

Добрый день в моем сообщении ссылка на эту статью, читал

Adoris- Автор вопроса

работает с "нормальными" сертификатами

Ты свой сертификат установил в устройство ?

Adoris- Автор вопроса

Не допру куда будет приложение слать запросы?

Adoris- Автор вопроса

Через ассеты, но потом я уже ничего не устанавливал юзал чисто дарт.. чтобы исключить влияние устройства.

Тебе нужен не самоподписанный сертификат. Сгенерируй нормальный сертификат

Adoris- Автор вопроса

Так мне нужен именно самоподписанный, то есть дарт не работает в приныипе с самоподписанными ?

При ssl pinning пофиг, можно сапоподписный

Нет

Что нет?)

Adoris- Автор вопроса

Но ведь в том же примере который Вы привели, исключаются все сертификаты системы? Там создается пустой контект, запрещаются системные сертефикаты, и пиннится свой, просто этот свой проверяемый, а самоподписанный не проверяемый.

Если ты переписал badCertificateCallback. Но так делать вряд ли стоит

При этом учитывай что на вебсокеты это не работает (на всякий случай)

Adoris- Автор вопроса

С этим проблема и помимо вебсокетов, дело в том что судя по всему туда попадает только корневой доверенный или промежуточный сертификат.А не конечный и там проверить тоже проблематично. Единстенное что можно сделать жто поднимать отдельную конечную точку со своим конечным сертификатом, и парсить его вручную...

x509 серт переписан ?

Adoris- Автор вопроса

Я не пробовал еще такое, это из интернетов, в открытых issue

Adoris- Автор вопроса

Это какой-то другой callback?

badCertificateCallback, ошибся

Adoris- Автор вопроса

А ну да, вот там жалуются что вся цепочка туда не попадает, в коллбек и проверить все не возможно, соответсвенно и смысл пропадает .Только костылями листовой сертификат вытягивать, типа через предварительный запрос.

Твой серт не попадает в этот колбек ?

Adoris- Автор вопроса

Нет туда попадает сертификат CA в моем случае

А колбэк один раз вызывывается только для CA ?

Может файл серта неправильно сформирован ?

Adoris- Автор вопроса

наврядли, я дважды переделывал там не скахзать что много вариантов, и потом в примере выше человек все делает в одном скрипте в том числе генерацию сертификатов, ошибки теже, так что скорее всего проблема не в этом. Да и потом openssl s_client а так же curl и postman все работают нормально соединяются хендшейк и все работает

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта