Blame doc/man3/SSL_CTX_set_keylog_callback.pod

Packit c4476c
=pod
Packit c4476c
Packit c4476c
=head1 NAME
Packit c4476c
Packit c4476c
SSL_CTX_set_keylog_callback, SSL_CTX_get_keylog_callback,
Packit c4476c
SSL_CTX_keylog_cb_func - logging TLS key material
Packit c4476c
Packit c4476c
=head1 SYNOPSIS
Packit c4476c
Packit c4476c
 #include <openssl/ssl.h>
Packit c4476c
Packit c4476c
 typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line);
Packit c4476c
Packit c4476c
 void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb);
Packit c4476c
 SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx);
Packit c4476c
Packit c4476c
=head1 DESCRIPTION
Packit c4476c
Packit c4476c
SSL_CTX_set_keylog_callback() sets the TLS key logging callback. This callback
Packit c4476c
is called whenever TLS key material is generated or received, in order to allow
Packit c4476c
applications to store this keying material for debugging purposes.
Packit c4476c
Packit c4476c
SSL_CTX_get_keylog_callback() retrieves the previously set TLS key logging
Packit c4476c
callback. If no callback has been set, this will return NULL. When there is no
Packit c4476c
key logging callback, or if SSL_CTX_set_keylog_callback is called with NULL as
Packit c4476c
the value of cb, no logging of key material will be done.
Packit c4476c
Packit c4476c
The key logging callback is called with two items: the B<ssl> object associated
Packit c4476c
with the connection, and B<line>, a string containing the key material in the
Packit c4476c
format used by NSS for its B<SSLKEYLOGFILE> debugging output. To recreate that
Packit c4476c
file, the key logging callback should log B<line>, followed by a newline.
Packit c4476c
B<line> will always be a NULL-terminated string.
Packit c4476c
Packit c4476c
=head1 RETURN VALUES
Packit c4476c
Packit c4476c
SSL_CTX_get_keylog_callback() returns a pointer to B<SSL_CTX_keylog_cb_func> or
Packit c4476c
NULL if the callback is not set.
Packit c4476c
Packit c4476c
=head1 SEE ALSO
Packit c4476c
Packit c4476c
L<ssl(7)>
Packit c4476c
Packit c4476c
=head1 COPYRIGHT
Packit c4476c
Packit c4476c
Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
Packit c4476c
Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
this file except in compliance with the License.  You can obtain a copy
Packit c4476c
in the file LICENSE in the source distribution or at
Packit c4476c
L<https://www.openssl.org/source/license.html>.
Packit c4476c
Packit c4476c
=cut