12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- =pod
- =head1 NAME
- SSL_set_retry_verify - indicate that certificate verification should be retried
- =head1 SYNOPSIS
- #include <openssl/ssl.h>
- int SSL_set_retry_verify(SSL *ssl);
- =head1 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.
- L<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 L<SSL_CTX_set_cert_verify_callback(3)> for further details.
- =head1 NOTES
- The effect of calling SSL_set_retry_verify() outside of the certificate
- verification callback on the client side is undefined.
- =head1 RETURN VALUES
- SSL_set_retry verify() returns 1 on success, 0 otherwise.
- =head1 EXAMPLES
- The following code snippet shows how to obtain the B<SSL> object associated
- with the B<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 */
- =head1 SEE ALSO
- L<ssl(7)>, L<SSL_connect(3)>, L<SSL_CTX_set_cert_verify_callback(3)>,
- L<SSL_want_retry_verify(3)>
- =head1 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.
- =head1 COPYRIGHT
- Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
- Licensed under the Apache License 2.0 (the "License"). You may not use
- this file except in compliance with the License. You can obtain a copy
- in the file LICENSE in the source distribution or at
- L<https://www.openssl.org/source/license.html>.
- =cut
|