Я работаю над пользовательским методом EAP, и мне нужно выполнить для него рукопожатие в внешнем режиме PSK TLS 1.3.
Согласно https://www.openssl.org/docs/man1.1.1/man3/SSL_set_psk_use_session_callback.html, я использую
typedef int (*SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md,
const unsigned char **id,
size_t *idlen,
SSL_SESSION **sess);
и для настройки этого обратного вызова я использую:
SSL_set_psk_use_session_callback(ssl, psk_use_session_cb);
И это работает нормально, пока я объявляю фиксированный PSK внутри этого обратного вызова.
Мне нужно прочитать пользовательский предварительный общий ключ, идентификатор и шифр из конфигурации и каким-то образом передать его в этот обратный вызов. Есть ли способ, которым мы можем передать новый аргумент этому обратному вызову.
Я устанавливаю шифр как const unsigned char tls13_aes128gcmsha256_id[] = { 0x13, 0x01 };
. Где я могу найти все поддерживаемые шифры для TLS1.3