Как выполнить операцию повторного рукопожатия с помощью API Openssl 1.1.1

#openssl

Вопрос:

Кто-нибудь знает, как выполнить повторное подтверждение(повторное согласование) с аутентификацией клиента с использованием API Openssl 1.1.1 для существующих подключений? Я переношу наш серверный код с Opernssl 1.0.2 на Openssl 1.1.1, и у меня возникли проблемы с пересмотром. Мы используем код из https://www.linuxjournal.com/article/5487

     int vflags = SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
    SSL_set_verify(ssl, vflags, 0);
    try {
        // Set SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION to force new session and send client certificate request
        SSL_set_options(ssl, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
         /* Stop the client from just resuming the un-authenticated session */
        //SSL_set_session_id_context(ssl, s_server_auth_session_id_context,sizeof(s_server_auth_session_id_context));

        if (SSL_renegotiate(ssl) <= 0) {
            // Clear SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
            SSL_clear_options(ssl, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
            throw runtime_error("SSL_renegotiate()");
        }

        if (SSL_do_handshake(ssl) <= 0) {
            // Clear SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
            SSL_clear_options(ssl, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
            throw runtime_error("SSL_do_handshake(1) ");
        }

        //ssl->state = SSL_ST_ACCEPT;

        int Res = SSL_do_handshake(ssl);
        if (Res <= 0) {
            //always returns error that certificate is not available 
        }

 

Он корректно работает с OpenSSL 1.0.2, но не работает на Openssl 1.1.1. Я больше не могу использовать ssl->состояние = SSL_ST_ACCEPT>, потому что такой член структуры SSl больше недоступен. Но, к сожалению, я не могу найти пример, как я могу заставить сервер ждать повторного рукопожатия клиента.