1*10e00d17Sschwarze.\" $OpenBSD: SSL_get_current_cipher.3,v 1.4 2018/03/27 17:35:50 schwarze Exp $ 2fba78a5cSschwarze.\" OpenSSL b97fdb57 Nov 11 09:33:09 2016 +0100 3f1a3c524Sschwarze.\" 4fba78a5cSschwarze.\" This file was written by Lutz Jaenicke <jaenicke@openssl.org>. 5fba78a5cSschwarze.\" Copyright (c) 2000, 2005, 2016 The OpenSSL Project. All rights reserved. 6f1a3c524Sschwarze.\" 7fba78a5cSschwarze.\" Redistribution and use in source and binary forms, with or without 8fba78a5cSschwarze.\" modification, are permitted provided that the following conditions 9fba78a5cSschwarze.\" are met: 10fba78a5cSschwarze.\" 11fba78a5cSschwarze.\" 1. Redistributions of source code must retain the above copyright 12fba78a5cSschwarze.\" notice, this list of conditions and the following disclaimer. 13fba78a5cSschwarze.\" 14fba78a5cSschwarze.\" 2. Redistributions in binary form must reproduce the above copyright 15fba78a5cSschwarze.\" notice, this list of conditions and the following disclaimer in 16fba78a5cSschwarze.\" the documentation and/or other materials provided with the 17fba78a5cSschwarze.\" distribution. 18fba78a5cSschwarze.\" 19fba78a5cSschwarze.\" 3. All advertising materials mentioning features or use of this 20fba78a5cSschwarze.\" software must display the following acknowledgment: 21fba78a5cSschwarze.\" "This product includes software developed by the OpenSSL Project 22fba78a5cSschwarze.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 23fba78a5cSschwarze.\" 24fba78a5cSschwarze.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 25fba78a5cSschwarze.\" endorse or promote products derived from this software without 26fba78a5cSschwarze.\" prior written permission. For written permission, please contact 27fba78a5cSschwarze.\" openssl-core@openssl.org. 28fba78a5cSschwarze.\" 29fba78a5cSschwarze.\" 5. Products derived from this software may not be called "OpenSSL" 30fba78a5cSschwarze.\" nor may "OpenSSL" appear in their names without prior written 31fba78a5cSschwarze.\" permission of the OpenSSL Project. 32fba78a5cSschwarze.\" 33fba78a5cSschwarze.\" 6. Redistributions of any form whatsoever must retain the following 34fba78a5cSschwarze.\" acknowledgment: 35fba78a5cSschwarze.\" "This product includes software developed by the OpenSSL Project 36fba78a5cSschwarze.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" 37fba78a5cSschwarze.\" 38fba78a5cSschwarze.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 39fba78a5cSschwarze.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 40fba78a5cSschwarze.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 41fba78a5cSschwarze.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 42fba78a5cSschwarze.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 43fba78a5cSschwarze.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 44fba78a5cSschwarze.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 45fba78a5cSschwarze.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 46fba78a5cSschwarze.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 47fba78a5cSschwarze.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 48fba78a5cSschwarze.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49fba78a5cSschwarze.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50fba78a5cSschwarze.\" 51*10e00d17Sschwarze.Dd $Mdocdate: March 27 2018 $ 52f1a3c524Sschwarze.Dt SSL_GET_CURRENT_CIPHER 3 53f1a3c524Sschwarze.Os 54f1a3c524Sschwarze.Sh NAME 55f1a3c524Sschwarze.Nm SSL_get_current_cipher , 56f1a3c524Sschwarze.Nm SSL_get_cipher , 57f1a3c524Sschwarze.Nm SSL_get_cipher_name , 58f1a3c524Sschwarze.Nm SSL_get_cipher_bits , 59f1a3c524Sschwarze.Nm SSL_get_cipher_version 60f1a3c524Sschwarze.Nd get SSL_CIPHER of a connection 61f1a3c524Sschwarze.Sh SYNOPSIS 62f1a3c524Sschwarze.In openssl/ssl.h 63fba78a5cSschwarze.Ft const SSL_CIPHER * 64f1a3c524Sschwarze.Fn SSL_get_current_cipher "const SSL *ssl" 65fba78a5cSschwarze.Ft const char * 66fba78a5cSschwarze.Fn SSL_get_cipher "const SSL *ssl" 67fba78a5cSschwarze.Ft const char * 68fba78a5cSschwarze.Fn SSL_get_cipher_name "const SSL *ssl" 69fba78a5cSschwarze.Ft int 70fba78a5cSschwarze.Fn SSL_get_cipher_bits "const SSL *ssl" "int *np" 71fba78a5cSschwarze.Ft char * 72fba78a5cSschwarze.Fn SSL_get_cipher_version "const SSL *ssl" 73f1a3c524Sschwarze.Sh DESCRIPTION 74f1a3c524Sschwarze.Fn SSL_get_current_cipher 75f1a3c524Sschwarzereturns a pointer to an 76f1a3c524Sschwarze.Vt SSL_CIPHER 77f1a3c524Sschwarzeobject containing the description of the actually used cipher of a connection 78f1a3c524Sschwarzeestablished with the 79f1a3c524Sschwarze.Fa ssl 80f1a3c524Sschwarzeobject. 81f1a3c524SschwarzeSee 82f1a3c524Sschwarze.Xr SSL_CIPHER_get_name 3 83f1a3c524Sschwarzefor more details. 84fba78a5cSschwarze.Pp 85fba78a5cSschwarze.Fn SSL_get_cipher_name 86fba78a5cSschwarzeobtains the name of the currently used cipher. 87fba78a5cSschwarze.Fn SSL_get_cipher 88fba78a5cSschwarzeis identical to 89fba78a5cSschwarze.Fn SSL_get_cipher_name . 90fba78a5cSschwarze.Pp 91fba78a5cSschwarze.Fn SSL_get_cipher_bits 92fba78a5cSschwarzeobtains the number of secret/algorithm bits used and 93fba78a5cSschwarze.Fn SSL_get_cipher_version 94fba78a5cSschwarzereturns the protocol name. 95fba78a5cSschwarze.Pp 96fba78a5cSschwarze.Fn SSL_get_cipher , 97fba78a5cSschwarze.Fn SSL_get_cipher_name , 98fba78a5cSschwarze.Fn SSL_get_cipher_bits , 99fba78a5cSschwarzeand 100fba78a5cSschwarze.Fn SSL_get_cipher_version 101fba78a5cSschwarzeare implemented as macros. 102f1a3c524Sschwarze.Sh RETURN VALUES 103f1a3c524Sschwarze.Fn SSL_get_current_cipher 104fba78a5cSschwarzereturns the cipher actually used, or 105fba78a5cSschwarze.Dv NULL 106fba78a5cSschwarzeif no session has been established. 107f1a3c524Sschwarze.Sh SEE ALSO 108f1a3c524Sschwarze.Xr ssl 3 , 109f1a3c524Sschwarze.Xr SSL_CIPHER_get_name 3 1108fba1ec8Sschwarze.Sh HISTORY 111*10e00d17Sschwarze.Fn SSL_get_cipher 112*10e00d17Sschwarzeappeared in SSLeay 0.4 or earlier. 113*10e00d17Sschwarze.Fn SSL_get_cipher_bits 114*10e00d17Sschwarzefirst appeared in SSLeay 0.6.4. 115*10e00d17Sschwarze.Fn SSL_get_cipher_name 116*10e00d17Sschwarzeand 117*10e00d17Sschwarze.Fn SSL_get_cipher_version 118*10e00d17Sschwarzefirst appeared in SSLeay 0.8.0. 119*10e00d17Sschwarze.Fn SSL_get_current_cipher 120*10e00d17Sschwarzefirst appeared in SSLeay 0.8.1. 121*10e00d17SschwarzeThese functions have been available since 1228fba1ec8Sschwarze.Ox 2.4 . 123