2000-09-19 00:42:30 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2016-07-29 05:00:05 +08:00
|
|
|
SSL_get_current_cipher, SSL_get_cipher_name, SSL_get_cipher,
|
2017-08-02 04:28:14 +08:00
|
|
|
SSL_get_cipher_bits, SSL_get_cipher_version,
|
|
|
|
SSL_get_pending_cipher - get SSL_CIPHER of a connection
|
2000-09-19 00:42:30 +08:00
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/ssl.h>
|
|
|
|
|
2005-03-30 19:50:14 +08:00
|
|
|
SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl);
|
2017-08-02 04:28:14 +08:00
|
|
|
SSL_CIPHER *SSL_get_pending_cipher(const SSL *ssl);
|
2016-07-09 00:55:45 +08:00
|
|
|
|
|
|
|
const char *SSL_get_cipher_name(const SSL *s);
|
|
|
|
const char *SSL_get_cipher(const SSL *s);
|
|
|
|
int SSL_get_cipher_bits(const SSL *s, int *np) \
|
|
|
|
const char *SSL_get_cipher_version(const SSL *s);
|
2000-09-19 00:42:30 +08:00
|
|
|
|
|
|
|
=head1 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 B<ssl> object.
|
2016-07-09 00:55:45 +08:00
|
|
|
See L<SSL_CIPHER_get_name(3)> for more details.
|
2000-09-19 00:42:30 +08:00
|
|
|
|
2016-07-09 00:55:45 +08:00
|
|
|
SSL_get_cipher_name() obtains the
|
|
|
|
name of the currently used cipher.
|
|
|
|
SSL_get_cipher() is identical to SSL_get_cipher_name().
|
|
|
|
SSL_get_cipher_bits() is a
|
2016-05-20 20:11:46 +08:00
|
|
|
macro to obtain the number of secret/algorithm bits used and
|
2000-09-19 00:42:30 +08:00
|
|
|
SSL_get_cipher_version() returns the protocol name.
|
|
|
|
|
2017-08-02 04:28:14 +08:00
|
|
|
SSL_get_pending_cipher() returns a pointer to an SSL_CIPHER object containing
|
|
|
|
the description of the cipher (if any) that has been negotiated for future use
|
|
|
|
on the connection established with the B<ssl> object, but is not yet in use.
|
|
|
|
This may be the case during handshake processing, when control flow can be
|
|
|
|
returned to the application via any of several callback methods. The internal
|
|
|
|
sequencing of handshake processing and callback invocation is not guaranteed
|
|
|
|
to be stable from release to release, and at present only the callback set
|
|
|
|
by SSL_CTX_set_alpn_select_cb() is guaranteed to have a non-NULL return value.
|
|
|
|
Other callbacks may be added to this list over time.
|
|
|
|
|
2000-09-19 00:42:30 +08:00
|
|
|
=head1 RETURN VALUES
|
|
|
|
|
2016-07-09 00:55:45 +08:00
|
|
|
SSL_get_current_cipher() returns the cipher actually used, or NULL if
|
2000-09-19 00:42:30 +08:00
|
|
|
no session has been established.
|
|
|
|
|
2017-08-02 04:28:14 +08:00
|
|
|
SSL_get_pending_cipher() returns the cipher to be used at the next change
|
|
|
|
of cipher suite, or NULL if no such cipher is known.
|
|
|
|
|
2016-07-09 00:55:45 +08:00
|
|
|
=head1 NOTES
|
|
|
|
|
2017-08-02 04:28:14 +08:00
|
|
|
SSL_get_cipher, SSL_get_cipher_bits, SSL_get_cipher_version, and
|
|
|
|
SSL_get_cipher_name are implemented as macros.
|
2016-07-09 00:55:45 +08:00
|
|
|
|
2000-09-19 00:42:30 +08:00
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2016-11-11 16:33:09 +08:00
|
|
|
L<ssl(7)>, L<SSL_CIPHER_get_name(3)>
|
2000-09-19 00:42:30 +08:00
|
|
|
|
2016-05-18 23:44:05 +08:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
|
|
|
Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
|
|
|
|
Licensed under the OpenSSL license (the "License"). You may not use
|
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|