curl 命令行 ssl 会话重用

Lon*_*nko 6 ssl curl openssl libcurl

ssl 中的会话重用非常普遍,curl 在命令行中也被广泛使用。它肯定应该有一个选项可以将 SSL/TLS 会话 ID 保存到文件中,然后在下次调用时重用它...

在移动传输不便宜的区域使用 curl 是必须的。

有谁知道实现这个的任何可能性,或者它可能已经在某个地方可用?

在 openssl 中,这并不难(读取或存储会话到文件)

Setting session from previous attempt:
SSL_SESSION* session = d2i_SSL_SESSION(NULL, &readFromFile,fileLen);
SSL_set_session(cSSL, session );
SSL_SESSION_free(cachedSession);

Storing session from current connection:
SSL_SESSION* session = SSL_get1_session(cSSL)
int len = i2d_SSL_SESSION(session, NULL); //get needed size
unsigned char *file_data = new char[len]
len = i2d_SSL_SESSION(session, &file_data );
//Store to file file_data of len
Run Code Online (Sandbox Code Playgroud)

对于粗略的命令行操作,您无需存储主机和端口,即可知道会话属于哪个主机,而让用户自行处理。

所以 curl 会带有 1 个或 2 个标志

--ssl-session-file @file
Run Code Online (Sandbox Code Playgroud)

或者

--ssl-session-file @existing_session_file and --ssl-session-save-file @new_session_file
Run Code Online (Sandbox Code Playgroud)

这能做到吗?这将使命令行 curl 和 libcurl 在有限的移动网络中更加有用......

这个可以加吗?

亲切的问候,