1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
4 .\" ========================================================================
5 .de Sh \" Subsection heading
13 .de Sp \" Vertical space (when we can't use .PP)
17 .de Vb \" Begin verbatim text
22 .de Ve \" End verbatim text
26 .\" Set up some character translations and predefined strings. \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote. | will give a
29 .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
37 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD. Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
57 . tm Index:\\$1\t\\n%\t"\\$2"
63 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear. Run. Save yourself. No user-serviceable parts.
70 . \" fudge factors for nroff and troff
79 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
85 . \" simple accents for nroff and troff
95 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 . \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 . \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 . \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
129 .\" ========================================================================
131 .IX Title "SSL_CIPHER_get_name 3"
132 .TH SSL_CIPHER_get_name 3 "2009-07-23" "0.9.8k" "OpenSSL"
134 SSL_CIPHER_get_name, SSL_CIPHER_get_bits, SSL_CIPHER_get_version, SSL_CIPHER_description \- get SSL_CIPHER properties
136 .IX Header "SYNOPSIS"
138 \& #include <openssl/ssl.h>
142 \& const char *SSL_CIPHER_get_name(const SSL_CIPHER *cipher);
143 \& int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
144 \& char *SSL_CIPHER_get_version(const SSL_CIPHER *cipher);
145 \& char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int size);
148 .IX Header "DESCRIPTION"
149 \&\fISSL_CIPHER_get_name()\fR returns a pointer to the name of \fBcipher\fR. If the
150 argument is the \s-1NULL\s0 pointer, a pointer to the constant value \*(L"\s-1NONE\s0\*(R" is
153 \&\fISSL_CIPHER_get_bits()\fR returns the number of secret bits used for \fBcipher\fR. If
154 \&\fBalg_bits\fR is not \s-1NULL\s0, it contains the number of bits processed by the
155 chosen algorithm. If \fBcipher\fR is \s-1NULL\s0, 0 is returned.
157 \&\fISSL_CIPHER_get_version()\fR returns the protocol version for \fBcipher\fR, currently
158 \&\*(L"SSLv2\*(R", \*(L"SSLv3\*(R", or \*(L"TLSv1\*(R". If \fBcipher\fR is \s-1NULL\s0, \*(L"(\s-1NONE\s0)\*(R" is returned.
160 \&\fISSL_CIPHER_description()\fR returns a textual description of the cipher used
161 into the buffer \fBbuf\fR of length \fBlen\fR provided. \fBlen\fR must be at least
162 128 bytes, otherwise a pointer to the string \*(L"Buffer too small\*(R" is
163 returned. If \fBbuf\fR is \s-1NULL\s0, a buffer of 128 bytes is allocated using
164 \&\fIOPENSSL_malloc()\fR. If the allocation fails, a pointer to the string
165 \&\*(L"OPENSSL_malloc Error\*(R" is returned.
168 The number of bits processed can be different from the secret bits. An
169 export cipher like e.g. \s-1EXP\-RC4\-MD5\s0 has only 40 secret bits. The algorithm
170 does use the full 128 bits (which would be returned for \fBalg_bits\fR), of
171 which however 88bits are fixed. The search space is hence only 40 bits.
173 The string returned by \fISSL_CIPHER_description()\fR in case of success consists
174 of cleartext information separated by one or more blanks in the following
177 .IX Item "<ciphername>"
178 Textual representation of the cipher name.
179 .IP "<protocol version>" 4
180 .IX Item "<protocol version>"
181 Protocol version: \fBSSLv2\fR, \fBSSLv3\fR. The TLSv1 ciphers are flagged with SSLv3.
182 .IP "Kx=<key exchange>" 4
183 .IX Item "Kx=<key exchange>"
184 Key exchange method: \fB\s-1RSA\s0\fR (for export ciphers as \fB\s-1RSA\s0(512)\fR or
185 \&\fB\s-1RSA\s0(1024)\fR), \fB\s-1DH\s0\fR (for export ciphers as \fB\s-1DH\s0(512)\fR or \fB\s-1DH\s0(1024)\fR),
186 \&\fB\s-1DH/RSA\s0\fR, \fB\s-1DH/DSS\s0\fR, \fBFortezza\fR.
187 .IP "Au=<authentication>" 4
188 .IX Item "Au=<authentication>"
189 Authentication method: \fB\s-1RSA\s0\fR, \fB\s-1DSS\s0\fR, \fB\s-1DH\s0\fR, \fBNone\fR. None is the
190 representation of anonymous ciphers.
191 .IP "Enc=<symmetric encryption method>" 4
192 .IX Item "Enc=<symmetric encryption method>"
193 Encryption method with number of secret bits: \fB\s-1DES\s0(40)\fR, \fB\s-1DES\s0(56)\fR,
194 \&\fB3DES(168)\fR, \fB\s-1RC4\s0(40)\fR, \fB\s-1RC4\s0(56)\fR, \fB\s-1RC4\s0(64)\fR, \fB\s-1RC4\s0(128)\fR,
195 \&\fB\s-1RC2\s0(40)\fR, \fB\s-1RC2\s0(56)\fR, \fB\s-1RC2\s0(128)\fR, \fB\s-1IDEA\s0(128)\fR, \fBFortezza\fR, \fBNone\fR.
196 .IP "Mac=<message authentication code>" 4
197 .IX Item "Mac=<message authentication code>"
198 Message digest: \fB\s-1MD5\s0\fR, \fB\s-1SHA1\s0\fR.
199 .IP "<export flag>" 4
200 .IX Item "<export flag>"
201 If the cipher is flagged exportable with respect to old \s-1US\s0 crypto
202 regulations, the word "\fBexport\fR" is printed.
204 .IX Header "EXAMPLES"
205 Some examples for the output of \fISSL_CIPHER_description()\fR:
208 \& EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
209 \& EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
210 \& RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
211 \& EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
215 If \fISSL_CIPHER_description()\fR is called with \fBcipher\fR being \s-1NULL\s0, the
218 If \fISSL_CIPHER_description()\fR cannot handle a built-in cipher, the according
219 description of the cipher property is \fBunknown\fR. This case should not
222 .IX Header "RETURN VALUES"
223 See \s-1DESCRIPTION\s0
225 .IX Header "SEE ALSO"
226 \&\fIssl\fR\|(3), \fISSL_get_current_cipher\fR\|(3),
227 \&\fISSL_get_ciphers\fR\|(3), \fIciphers\fR\|(1)