logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SSL_set_retry_verify - indicate that certificate verification should be retried

Description

SSL_set_retry_verify() should be called from the certificate verification callback on a client when the
       application wants to indicate that the handshake should be suspended and the control should be returned
       to the application.  SSL_want_retry_verify(3) will return 1 as a consequence until the handshake is
       resumed again by the application, retrying the verification step.

       Please refer to SSL_CTX_set_cert_verify_callback(3) for further details.

Examples

       The following code snippet shows how to obtain the SSL object associated with the X509_STORE_CTX to call
       the SSL_set_retry_verify() function:

           int idx = SSL_get_ex_data_X509_STORE_CTX_idx();
           SSL *ssl;

           /* this should not happen but check anyway */
           if (idx < 0
               || (ssl = X509_STORE_CTX_get_ex_data(ctx, idx)) == NULL)
               return 0;

           if (/* we need to retry verification callback */)
               return SSL_set_retry_verify(ssl);

           /* do normal processing of the verification callback */

History

SSL_set_retry_verify() was added in OpenSSL 3.0.2 to replace backwards incompatible handling of a
       negative return value from the verification callback.

Name

       SSL_set_retry_verify - indicate that certificate verification should be retried

Notes

       The effect of calling SSL_set_retry_verify() outside of the certificate verification callback on the
       client side is undefined.

Return Values

       SSL_set_retry verify() returns 1 on success, 0 otherwise.

See Also

ssl(7), SSL_connect(3), SSL_CTX_set_cert_verify_callback(3), SSL_want_retry_verify(3)

Synopsis

        #include <openssl/ssl.h>

        int SSL_set_retry_verify(SSL *ssl);

See Also