]> git.ipfire.org Git - thirdparty/openssl.git/blob - doc/ssl/SSL_get_ciphers.pod
Add some documentation for SSL_get_shared_ciphers()
[thirdparty/openssl.git] / doc / ssl / SSL_get_ciphers.pod
1 =pod
2
3 =head1 NAME
4
5 SSL_get_ciphers,
6 SSL_get_cipher_list,
7 SSL_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
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
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
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