SSL_get_ciphers.pod revision 337982
1=pod
2
3=head1 NAME
4
5SSL_get_ciphers,
6SSL_get_cipher_list,
7SSL_get_shared_ciphers
8- get list of available SSL_CIPHERs
9
10=head1 SYNOPSIS
11
12 #include <openssl/ssl.h>
13
14 STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *ssl);
15 const char *SSL_get_cipher_list(const SSL *ssl, int priority);
16 char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size);
17
18=head1 DESCRIPTION
19
20SSL_get_ciphers() returns the stack of available SSL_CIPHERs for B<ssl>,
21sorted by preference. If B<ssl> is NULL or no ciphers are available, NULL
22is returned.
23
24SSL_get_cipher_list() returns a pointer to the name of the SSL_CIPHER
25listed for B<ssl> with B<priority>. If B<ssl> is NULL, no ciphers are
26available, or there are less ciphers than B<priority> available, NULL
27is returned.
28
29SSL_get_shared_ciphers() creates a colon separated and NUL terminated list of
30SSL_CIPHER names that are available in both the client and the server. B<buf> is
31the buffer that should be populated with the list of names and B<size> is the
32size of that buffer. A pointer to B<buf> is returned on success or NULL on
33error. If the supplied buffer is not large enough to contain the complete list
34of names then a truncated list of names will be returned. Note that just because
35a ciphersuite is available (i.e. it is configured in the cipher list) and shared
36by both the client and the server it does not mean that it is enabled (for
37example some ciphers may not be usable by a server if there is not a suitable
38certificate configured). This function will return available shared ciphersuites
39whether or not they are enabled. This is a server side function only and must
40only be called after the completion of the initial handshake.
41
42=head1 NOTES
43
44The details of the ciphers obtained by SSL_get_ciphers() can be obtained using
45the L<SSL_CIPHER_get_name(3)|SSL_CIPHER_get_name(3)> family of functions.
46
47Call SSL_get_cipher_list() with B<priority> starting from 0 to obtain the
48sorted list of available ciphers, until NULL is returned.
49
50=head1 RETURN VALUES
51
52See DESCRIPTION
53
54=head1 SEE ALSO
55
56L<ssl(3)|ssl(3)>, L<SSL_CTX_set_cipher_list(3)|SSL_CTX_set_cipher_list(3)>,
57L<SSL_CIPHER_get_name(3)|SSL_CIPHER_get_name(3)>
58
59=cut
60