TLS ALPN в Python 2.7

Я работаю над клиентом HTTP/2 и хочу добавить поддержку SSL. Согласно RFC, согласование протокола осуществляется с использованием протокола ALPN. Есть ли реализация ALPN в python 2.7?

(Я знаю, что есть реализации клиента HTTP/2, но я хочу написать его сам)

Спасибо!


person Noam    schedule 17.10.2015    source источник


Ответы (1)


Воспользуйтесь документацией и просто найдите "alpn". Это хорошо документировано, например:

SSLContext.set_alpn_protocols(протоколы)

Укажите, какие протоколы должен анонсировать сокет во время рукопожатия SSL/TLS. Это должен быть список строк ASCII, например ['http/1.1', 'spdy/2'], упорядоченных по предпочтениям. Выбор протокола произойдет во время рукопожатия и будет воспроизводиться в соответствии с RFC 7301. После успешного рукопожатия метод SSLSocket.selected_alpn_protocol() вернет согласованный протокол.

person Steffen Ullrich    schedule 17.10.2015