diff options
author | Adriaan de Jong <dejong@fox-it.com> | 2011-06-27 09:52:59 +0200 |
---|---|---|
committer | David Sommerseth <davids@redhat.com> | 2011-10-19 22:31:46 +0200 |
commit | b64ffdcf09edd7110c1f851942d0e8d4e05d883c (patch) | |
tree | 01e55f356f3032e663961ab3bf37ec520278a580 /ssl_openssl.c | |
parent | 397c0a35c5b36c270678c717e931476dc42bfa5c (diff) | |
download | openvpn-b64ffdcf09edd7110c1f851942d0e8d4e05d883c.tar.gz openvpn-b64ffdcf09edd7110c1f851942d0e8d4e05d883c.tar.xz openvpn-b64ffdcf09edd7110c1f851942d0e8d4e05d883c.zip |
Refactored get_highest_preference_tls_cipher
Signed-off-by: Adriaan de Jong <dejong@fox-it.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Signed-off-by: David Sommerseth <davids@redhat.com>
Diffstat (limited to 'ssl_openssl.c')
-rw-r--r-- | ssl_openssl.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ssl_openssl.c b/ssl_openssl.c index 6f6f1b3..c80dfb1 100644 --- a/ssl_openssl.c +++ b/ssl_openssl.c @@ -100,3 +100,24 @@ show_available_tls_ciphers () SSL_free (ssl); SSL_CTX_free (ctx); } + +void +get_highest_preference_tls_cipher (char *buf, int size) +{ + SSL_CTX *ctx; + SSL *ssl; + const char *cipher_name; + + ctx = SSL_CTX_new (TLSv1_method ()); + if (!ctx) + msg (M_SSLERR, "Cannot create SSL_CTX object"); + ssl = SSL_new (ctx); + if (!ssl) + msg (M_SSLERR, "Cannot create SSL object"); + + cipher_name = SSL_get_cipher_list (ssl, 0); + strncpynt (buf, cipher_name, size); + + SSL_free (ssl); + SSL_CTX_free (ctx); +} |