diff options
author | Cory Benfield <lukasaoz@gmail.com> | 2017-01-20 16:22:30 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-01-23 17:07:43 +0100 |
commit | 2faa1b48fd6864f6bb8f992fd638378202fdd416 (patch) | |
tree | 67f05483494b226aadd41b8aafd6e5a7744350d6 /include | |
parent | ea24bb0ac5afee1cb7807752a674cb8a858545db (diff) |
Add support for key logging callbacks.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1646)
Diffstat (limited to 'include')
-rw-r--r-- | include/openssl/ssl.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 2f6d59a05e..86ffcb978f 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -775,6 +775,25 @@ __owur int SSL_extension_supported(unsigned int ext_type); # define SSL_MAC_FLAG_READ_MAC_STREAM 1 # define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 +/* + * A callback for logging out TLS key material. This callback should log out + * |line| followed by a newline. + */ +typedef void (*SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line); + +/* + * SSL_CTX_set_keylog_callback configures a callback to log key material. This + * is intended for debugging use with tools like Wireshark. The cb function + * should log line followed by a newline. + */ +void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb); + +/* + * SSL_CTX_get_keylog_callback returns the callback configured by + * SSL_CTX_set_keylog_callback. + */ +SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx); + #ifdef __cplusplus } #endif @@ -2079,6 +2098,7 @@ int ERR_load_SSL_strings(void); # define SSL_F_FINAL_EMS 486 # define SSL_F_FINAL_RENEGOTIATE 483 # define SSL_F_FINAL_SIG_ALGS 497 +# define SSL_F_NSS_KEYLOG_INT 500 # define SSL_F_OPENSSL_INIT_SSL 342 # define SSL_F_OSSL_STATEM_CLIENT13_READ_TRANSITION 436 # define SSL_F_OSSL_STATEM_CLIENT_CONSTRUCT_MESSAGE 430 @@ -2170,6 +2190,8 @@ int ERR_load_SSL_strings(void); # define SSL_F_SSL_GET_SIGN_PKEY 183 # define SSL_F_SSL_INIT_WBIO_BUFFER 184 # define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +# define SSL_F_SSL_LOG_MASTER_SECRET 498 +# define SSL_F_SSL_LOG_RSA_CLIENT_KEY_EXCHANGE 499 # define SSL_F_SSL_MODULE_INIT 392 # define SSL_F_SSL_NEW 186 # define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 |