我想在tls握手之前设置alpn。
ALPN是H2和HTTP/1.1
在python中,我可以这样设置:
ssl.set_alpn_protos([b'h2', b'http/1.1'])
但是当我在Rust中设置这个时,我得到了一个错误
context.set_alpn_protos(b"\x06h2\x08http/1.1").expect("set ALPN error");
错误信息被
thread 'main' panicked at 'set ALPN error: ErrorStack([])', src/checker/tls/get_tls_info.rs:58:56
RustOpenSSL设置ALPN文档被对接
我现在该怎么办
你有没有主意
谢谢你的帮助:)
1条答案
按热度按时间lymnna711#
从您链接的文档中(强调我的文档):
它由一系列受支持的协议名组成,这些协议名的前缀为字节长度。
将
\x06
替换为\x02
,因为b"h2"
是2
字节,而不是6
您也可以使用类似于以下的方法,从类似于pythons的列表中计算导线格式: