diff --git a/src/network/openssl.c b/src/network/openssl.c index 5f6dce0..c69ee05 100644 --- a/src/network/openssl.c +++ b/src/network/openssl.c @@ -394,6 +394,18 @@ void net_ssl_callback(struct net_connection* con, int events) } } +const char* net_ssl_get_tls_version(struct net_connection* con) +{ + struct net_ssl_openssl* handle = get_handle(con); + return SSL_get_version(handle->ssl); +} + +const char* net_ssl_get_tls_cipher(struct net_connection* con) +{ + struct net_ssl_openssl* handle = get_handle(con); + const SSL_CIPHER *cipher = SSL_get_current_cipher(handle->ssl); + return SSL_CIPHER_get_name(cipher); +} #endif /* SSL_USE_OPENSSL */ #endif /* SSL_SUPPORT */ diff --git a/src/network/tls.h b/src/network/tls.h index 7ddb8b7..dc959ba 100644 --- a/src/network/tls.h +++ b/src/network/tls.h @@ -103,10 +103,12 @@ extern void net_ssl_destroy(struct net_connection* con); extern void net_ssl_callback(struct net_connection* con, int events); - extern ssize_t net_con_ssl_handshake(struct net_connection* con, enum net_con_ssl_mode, struct ssl_context_handle* ssl_ctx); extern int net_con_is_ssl(struct net_connection* con); +extern const char* net_ssl_get_tls_version(struct net_connection* con); +extern const char* net_ssl_get_tls_cipher(struct net_connection* con); + #endif /* SSL_SUPPORT */ #endif /* HAVE_UHUB_NETWORK_TLS_H */