Вопрос по сетевым сертификатам

Discussion in 'Криптография, расшифровка хешей' started by Hohol99, 12 Apr 2020.

  1. Hohol99

    Hohol99 Member

    Joined:
    7 Apr 2020
    Messages:
    19
    Likes Received:
    11
    Reputations:
    0
    Добрый день. Возникли сложности с установлением зашифрованного соединения. Судя по логам сервер отклоняет соединение. Такое происходит не со всеми ресурсами,использующими https лишь с некоторыми.

    Проект старый, скажем так, что-то вроде автономной библиотеки к Visual Studio, по всей видимости поддержка которой уже завершила свою деятельность. Может быть сертификат устарел?


    1. Скажите, где скомпилированная программа теоритически может хранить сертификат (где обычно хранятся они?) В общем хранилище, или программы держат их автономно?
    2. Не нашел (очень долго искал) информации, как к этой библиотеке добавить сертификат. Можно ли его взять и подменить каки-то образом, например в IDA перехватить функцию, которая использует сертификат и вписать свой.
    3. Как узнать, какой сертификат готов принять сайт и где взять ключ для авторизации? Иными словами, как совершить обращение к сайту с сертификатом, который ему понравится?
    Буду благодарен любым адекватным советам. Сейчас у меня действительно сложности в понимании работы с этим протоколом, знаю лишь поверхностно. Сама цель - установить надежное соединение с сайтом, которое он не отвергнет.
     
  2. fandor9

    fandor9 Well-Known Member

    Joined:
    16 Nov 2018
    Messages:
    444
    Likes Received:
    682
    Reputations:
    19
    Так как ваша библиотека выступает в роли клиента при соединение с сервером (ваша библиотека делает запрос к серверу, а не наоборот), то на вашей стороне скорее всего не используется сетевой сертификат (есть и такие варианты, но они крайне редки). Моё предположение скорее что ваша библиотека не поддерживает новые версии TLS (1.1/1.2/1.3) и поэтому сервер, настроенный на поддержку только новых версий TLS, отклоняет соединение с вашей библиотекой.
    Для начала можете проверить какие версии TLS поддерживает ваша библиотека, либо онлайн либо локально.
    И потом уже либо переписывать библиотеку с поддержкой новых версий TLS, либо же использовать локальный прокси, который со стороны сервера поддерживает старые версии TLS, а со стороны клиента поддерживает новые версии. Как вариант mitmproxy или же sslsplit, при этом вы так же узнаете какие сертификаты используются при соединение.
     
    Hohol99 likes this.
Loading...