s as well.

The re-authentication process, allows the connected client to switch
identity by presenting a new certificate.  Unlike TLS 1.2, the server is
not allowed to change identities.  That client re-authentication, or
post-handshake authentication can be initiated only by the server using
*note gnutls_reauth::, and only if a client has advertised support for
it.  Both server and client have to explicitly enable support for post
handshake authentication using the ‘GNUTLS_POST_HANDSHAKE_AUTH’ flag at
*note gnutls_init::.

A client receiving a re-authentication request will "see" the error code
‘GNUTLS_E_REAUTH_REQUEST’ at *note gnutls_record_recv::.  At this point,
it should also call *note gnutls_reauth::.

To make re-authentication transparent to the application when requested
by the server, use the ‘GNUTLS_AUTO_REAUTH’ and
‘GNUTLS_POST_HANDSHAKE_AUTH’ flags on the *note gnutls_init:: call.  In
that case the re-authentication will happen in the call of *note
gnutls_record_recv:: that received the reauthentication request.

