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