我正在开发一款客户端/服务器软件,并尝试使用openssl建立TLS 1.3 PSK连接的设置方法。显然,与TLS 1.2(及更低版本)相比,存在不同的回调方法,但openssl文档令人困惑,我无法完全理解全部流程。
有没有人能提供样例代码,演示如何在这些回调中返回信息?
int SSL_psk_use_session_cb_func(SSL *ssl, const EVP_MD *md,const unsigned char **id,size_t *idlen,SSL_SESSION **sess);
int (*SSL_psk_find_session_cb_func)(SSL *ssl,const unsigned char *identity,size_t identity_len,SSL_SESSION **sess);
- TLS1.3 中我的理解是身份提示为 NULL,那么为什么这些 TLS1.3 特定的回调函数中有身份字段?
- 我在某个地方看到 TLS 1.3 有不同的密码套件设置,PSK AES256 和 PSK CHACHA20 的名称是什么?
- 在我的情况下,服务器只会接受一个连接,即 P2P 数据链路。我是否仍然需要让一方充当服务器,即使用 find_session_cb 而非 use_session_cb?