SSL_CTX_set_stateless_cookie_generate_cb3ssl
Callback functions for stateless tls1.3 cookies
Usage
#include <openssl/ssl.h>void SSL_CTX_set_stateless_cookie_generate_cb(SSL_CTX *ctx,int (*gen_stateless_cookie_cb) (SSL *ssl,unsigned char *cookie,size_t *cookie_len));void SSL_CTX_set_stateless_cookie_verify_cb(SSL_CTX *ctx,int (*verify_stateless_cookie_cb) (SSL *ssl,const unsigned char *cookie,size_t cookie_len));void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,int (*app_gen_cookie_cb) (SSL *ssl,unsigned char*cookie,unsigned int*cookie_len));void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,int (*app_verify_cookie_cb) (SSL *ssl,const unsignedchar *cookie,unsigned intcookie_len));
Overview
SSL_CTX_set_stateless_cookie_generate_cb() sets the callback used by SSL_stateless(3) to generate the application-controlled portion of the cookie provided to clients in the HelloRetryRequest transmitted as a response to a ClientHello with a missing or invalid cookie. gen_stateless_cookie_cb() must write at most SSL_COOKIE_LENGTH bytes into cookie, and must write the number of bytes written to cookie_len. If a cookie cannot be generated, a zero return value can be used to abort the handshake.
SSL_CTX_set_stateless_cookie_verify_cb() sets the callback used by SSL_stateless(3) to determine whether the application-controlled portion of a ClientHello cookie is valid. The cookie data is pointed to by cookie and is of length cookie_len. A nonzero return value from verify_stateless_cookie_cb() communicates that the cookie is valid. The integrity of the entire cookie, including the application-controlled portion, is automatically verified by HMAC before verify_stateless_cookie_cb() is called.
SSL_CTX_set_cookie_generate_cb() sets the callback used by DTLSv1_listen(3) to generate the cookie provided to clients in the HelloVerifyRequest transmitted as a response to a ClientHello with a missing or invalid cookie. app_gen_cookie_cb() must write at most DTLS1_COOKIE_LENGTH bytes into cookie, and must write the number of bytes written to cookie_len. If a cookie cannot be generated, a zero return value can be used to abort the handshake.
SSL_CTX_set_cookie_verify_cb() sets the callback used by DTLSv1_listen(3) to determine whether the cookie in a ClientHello is valid. The cookie data is pointed to by cookie and is of length cookie_len. A nonzero return value from app_verify_cookie_cb() communicates that the cookie is valid. The integrity of the cookie is not verified by OpenSSL. This is an application responsibility.
Return values
Neither function returns a value.
Releases
5 releases since Debian 10 (Buster); the text changed 4 times.