xref: /openbsd-src/lib/libssl/man/SSL_get_current_cipher.3 (revision 10e00d1796876719ecd5784348f9f4f2b3dd83c5)
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