Как запретить http-клиенту повторное согласование TLS?

Я пытаюсь подключиться к серверу, который хочет выполнить повторное согласование TLS, однако текущий клиент Go TLS не поддерживает повторное согласование. Есть ли способ заставить его не пересматривать? Я попытался установить минимальную/максимальную версии на TLS 1.2 и установить для PreferServerCipherSuites значение true, но все равно не повезло.

Спасибо.


person blockcipher    schedule 09.06.2016    source источник
comment
Я полагаю, что спецификация говорит, что сервер может принудительно провести повторное согласование в любое время, так что вам может не повезти. Возможно, вам придется связаться с людьми, управляющими сервером, к которому вы пытаетесь подключиться, и узнать, готовы ли они не требовать этого.   -  person childofsoong    schedule 09.06.2016


Ответы (2)


Проблема была решена в этой проблеме с помощью этого commit, но вам нужно дождаться выхода Go версии 1.7

person psadac    schedule 10.06.2016

Спасибо всем, кто ответил, но похоже, что я испортил условное выражение, которое помешало настроить TLS, поэтому все, что я пытался, не сработало. шм...

В итоге я заставил его работать, взяв версию common.go в коммите, заменив исходную версию этой игры на go 1.6.2 и пересобрав стандартную библиотеку. Я оставлю читателю, как это сделать, в качестве упражнения, поскольку я не рекомендую это делать. Тем не менее, похоже, что все работает, так что, надеюсь, скоро выйдет версия 1.7.

Теперь я не могу вспомнить прямо сейчас, заставил ли я это работать, но если кто-то еще находится в той же лодке, я считаю, что вы можете установить версию Min/Max TLS на ту же версию и установить для PreferServerCipherSuites значение true. Это может сработать, но, пожалуйста, имейте в виду комментарий childofsoong.

person blockcipher    schedule 10.06.2016
comment
Я уже давно использую Go 1.7 из git, и он стабилен и намного быстрее, YMMV. - person OneOfOne; 10.06.2016