? 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 Выше человек писал что у него рабоиче примеры с кастомными сертификатами но в этом сообщений уже ничего не работает, причем испольщзуется только дарт, все сертификаты генерируются по месту и сервер на дарте и запросы все в одном скрипте, можно просто запустить, и получить в моем случае похожую ошибку - хотя и не такую же. В общем если у кого был опыт буду благодарен если поделитесь
Цель какая? SSL pinning?
Тоже не совсем понятна цель костыляния этого, когда есть nginx и ему подобные прокси..
Lf
Не понял как nginx поможет?
Эм, на целевом хосте разворачиваешь nginx вешаешь на него абсолютно все что хочешь, и создаёшь реверс прокси на твое приложение?
https://habr.com/ru/company/surfstudio/blog/504914/
Добрый день в моем сообщении ссылка на эту статью, читал
работает с "нормальными" сертификатами
Ты свой сертификат установил в устройство ?
Не допру куда будет приложение слать запросы?
Через ассеты, но потом я уже ничего не устанавливал юзал чисто дарт.. чтобы исключить влияние устройства.
Тебе нужен не самоподписанный сертификат. Сгенерируй нормальный сертификат
Так мне нужен именно самоподписанный, то есть дарт не работает в приныипе с самоподписанными ?
При ssl pinning пофиг, можно сапоподписный
Что нет?)
Но ведь в том же примере который Вы привели, исключаются все сертификаты системы? Там создается пустой контект, запрещаются системные сертефикаты, и пиннится свой, просто этот свой проверяемый, а самоподписанный не проверяемый.
Если ты переписал badCertificateCallback. Но так делать вряд ли стоит
При этом учитывай что на вебсокеты это не работает (на всякий случай)
С этим проблема и помимо вебсокетов, дело в том что судя по всему туда попадает только корневой доверенный или промежуточный сертификат.А не конечный и там проверить тоже проблематично. Единстенное что можно сделать жто поднимать отдельную конечную точку со своим конечным сертификатом, и парсить его вручную...
x509 серт переписан ?
Я не пробовал еще такое, это из интернетов, в открытых issue
Это какой-то другой callback?
badCertificateCallback, ошибся
А ну да, вот там жалуются что вся цепочка туда не попадает, в коллбек и проверить все не возможно, соответсвенно и смысл пропадает .Только костылями листовой сертификат вытягивать, типа через предварительный запрос.
Твой серт не попадает в этот колбек ?
Нет туда попадает сертификат CA в моем случае
А колбэк один раз вызывывается только для CA ?
Может файл серта неправильно сформирован ?
наврядли, я дважды переделывал там не скахзать что много вариантов, и потом в примере выше человек все делает в одном скрипте в том числе генерацию сертификатов, ошибки теже, так что скорее всего проблема не в этом. Да и потом openssl s_client а так же curl и postman все работают нормально соединяются хендшейк и все работает
Обсуждают сегодня