TLS 1.3 PSK: Как отправить PSK как массив символов в openssl? - PullRequest
0 голосов
/ 15 апреля 2020

Я работаю над пользовательским методом 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 внутри этого обратного вызова.

  1. Мне нужно прочитать пользовательский предварительный общий ключ, идентификатор и шифр из конфигурации и каким-то образом передать его в этот обратный вызов. Есть ли способ, которым мы можем передать новый аргумент этому обратному вызову.

  2. Я устанавливаю шифр как const unsigned char tls13_aes128gcmsha256_id[] = { 0x13, 0x01 };. Где я могу найти все поддерживаемые шифры для TLS1.3

...