我是OpenSSL的新手,正在尝试扩展API。我想创建尽可能自定义的ClientHello
,以便了解服务器如何对此作出反应。
我的问题是:如何从库外部(在程序内)在Random
中设置ClientHello
部分?
最佳答案
没有为此的界面。它只是使用RAND_pseudo_bytes
生成随机字节。但是您可以尝试修改源代码以添加自己的钩子(Hook),可能是ssl23_client_hello
中的ssl/s23_clnt.c
。
编辑:使用OpenSSL 1.1.0完成大代码修改后,相关代码可以在ssl/statem/statem_clnt.c
函数tls_construct_client_hello
中找到,它使用ssl_fill_hello_random
(ssl/s3_lib.c
)生成字节,然后调用RAND_bytes
。