- NAME
- SYNOPSIS
- DESCRIPTION
- RETURN VALUES
- SEE ALSO

# NAME

SSL_get_current_cipher, SSL_get_cipher, SSL_get_cipher_name, SSL_get_cipher_bits, SSL_get_cipher_version - get SSL_CIPHER of a connection

# SYNOPSIS

     #include <openssl/ssl.h>

     SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl);
     #define SSL_get_cipher(s) \
                    SSL_CIPHER_get_name(SSL_get_current_cipher(s))
     #define SSL_get_cipher_name(s) \
                    SSL_CIPHER_get_name(SSL_get_current_cipher(s))
     #define SSL_get_cipher_bits(s,np) \
                    SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np)
     #define SSL_get_cipher_version(s) \
                    SSL_CIPHER_get_version(SSL_get_current_cipher(s))

# DESCRIPTION

`SSL_get_current_cipher()` returns a pointer to an SSL_CIPHER object containing the description of the actually used cipher of a connection established with the ssl object.

`SSL_get_cipher()` and `SSL_get_cipher_name()` are identical macros to obtain the name of the currently used cipher. `SSL_get_cipher_bits()` is a macro to obtain the number of secret/algorithm bits used and `SSL_get_cipher_version()` returns the protocol name. See SSL_CIPHER_get_name for more details.

# RETURN VALUES

`SSL_get_current_cipher()` returns the cipher actually used or NULL, when no session has been established.

# SEE ALSO

ssl, SSL_CIPHER_get_name