1 .\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
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. \*(C+ will
29 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
30 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
31 .\" 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 .\" Escape single quotes in literal strings from groff's Unicode transform.
55 .\" If the F register is turned on, we'll generate index entries on stderr for
56 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
57 .\" entries marked with X<> in POD. Of course, you'll have to process the
58 .\" output yourself in some meaningful fashion.
61 . tm Index:\\$1\t\\n%\t"\\$2"
71 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
72 .\" Fear. Run. Save yourself. No user-serviceable parts.
73 . \" fudge factors for nroff and troff
82 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
88 . \" simple accents for nroff and troff
98 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
99 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
100 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
101 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
102 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
103 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
105 . \" troff and (daisy-wheel) nroff accents
106 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
107 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
108 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
109 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
110 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
111 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
112 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
113 .ds ae a\h'-(\w'a'u*4/10)'e
114 .ds Ae A\h'-(\w'A'u*4/10)'E
115 . \" corrections for vroff
116 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
117 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
118 . \" for low resolution devices (crt and lpr)
119 .if \n(.H>23 .if \n(.V>19 \
132 .\" ========================================================================
134 .IX Title "SSL_CIPHER_get_name 3"
135 .TH SSL_CIPHER_get_name 3 "2009-11-06" "0.9.8l" "OpenSSL"
136 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
137 .\" way too many mistakes in technical documents.
141 SSL_CIPHER_get_name, SSL_CIPHER_get_bits, SSL_CIPHER_get_version, SSL_CIPHER_description \- get SSL_CIPHER properties
143 .IX Header "SYNOPSIS"
145 \& #include <openssl/ssl.h>
147 \& const char *SSL_CIPHER_get_name(const SSL_CIPHER *cipher);
148 \& int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
149 \& char *SSL_CIPHER_get_version(const SSL_CIPHER *cipher);
150 \& char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int size);
153 .IX Header "DESCRIPTION"
154 \&\fISSL_CIPHER_get_name()\fR returns a pointer to the name of \fBcipher\fR. If the
155 argument is the \s-1NULL\s0 pointer, a pointer to the constant value \*(L"\s-1NONE\s0\*(R" is
158 \&\fISSL_CIPHER_get_bits()\fR returns the number of secret bits used for \fBcipher\fR. If
159 \&\fBalg_bits\fR is not \s-1NULL\s0, it contains the number of bits processed by the
160 chosen algorithm. If \fBcipher\fR is \s-1NULL\s0, 0 is returned.
162 \&\fISSL_CIPHER_get_version()\fR returns the protocol version for \fBcipher\fR, currently
163 \&\*(L"SSLv2\*(R", \*(L"SSLv3\*(R", or \*(L"TLSv1\*(R". If \fBcipher\fR is \s-1NULL\s0, \*(L"(\s-1NONE\s0)\*(R" is returned.
165 \&\fISSL_CIPHER_description()\fR returns a textual description of the cipher used
166 into the buffer \fBbuf\fR of length \fBlen\fR provided. \fBlen\fR must be at least
167 128 bytes, otherwise a pointer to the string \*(L"Buffer too small\*(R" is
168 returned. If \fBbuf\fR is \s-1NULL\s0, a buffer of 128 bytes is allocated using
169 \&\fIOPENSSL_malloc()\fR. If the allocation fails, a pointer to the string
170 \&\*(L"OPENSSL_malloc Error\*(R" is returned.
173 The number of bits processed can be different from the secret bits. An
174 export cipher like e.g. \s-1EXP\-RC4\-MD5\s0 has only 40 secret bits. The algorithm
175 does use the full 128 bits (which would be returned for \fBalg_bits\fR), of
176 which however 88bits are fixed. The search space is hence only 40 bits.
178 The string returned by \fISSL_CIPHER_description()\fR in case of success consists
179 of cleartext information separated by one or more blanks in the following
182 .IX Item "<ciphername>"
183 Textual representation of the cipher name.
184 .IP "<protocol version>" 4
185 .IX Item "<protocol version>"
186 Protocol version: \fBSSLv2\fR, \fBSSLv3\fR. The TLSv1 ciphers are flagged with SSLv3.
187 .IP "Kx=<key exchange>" 4
188 .IX Item "Kx=<key exchange>"
189 Key exchange method: \fB\s-1RSA\s0\fR (for export ciphers as \fB\s-1RSA\s0(512)\fR or
190 \&\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),
191 \&\fB\s-1DH/RSA\s0\fR, \fB\s-1DH/DSS\s0\fR, \fBFortezza\fR.
192 .IP "Au=<authentication>" 4
193 .IX Item "Au=<authentication>"
194 Authentication method: \fB\s-1RSA\s0\fR, \fB\s-1DSS\s0\fR, \fB\s-1DH\s0\fR, \fBNone\fR. None is the
195 representation of anonymous ciphers.
196 .IP "Enc=<symmetric encryption method>" 4
197 .IX Item "Enc=<symmetric encryption method>"
198 Encryption method with number of secret bits: \fB\s-1DES\s0(40)\fR, \fB\s-1DES\s0(56)\fR,
199 \&\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,
200 \&\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.
201 .IP "Mac=<message authentication code>" 4
202 .IX Item "Mac=<message authentication code>"
203 Message digest: \fB\s-1MD5\s0\fR, \fB\s-1SHA1\s0\fR.
204 .IP "<export flag>" 4
205 .IX Item "<export flag>"
206 If the cipher is flagged exportable with respect to old \s-1US\s0 crypto
207 regulations, the word "\fBexport\fR" is printed.
209 .IX Header "EXAMPLES"
210 Some examples for the output of \fISSL_CIPHER_description()\fR:
213 \& EDH\-RSA\-DES\-CBC3\-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
214 \& EDH\-DSS\-DES\-CBC3\-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
215 \& RC4\-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
216 \& EXP\-RC4\-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
220 If \fISSL_CIPHER_description()\fR is called with \fBcipher\fR being \s-1NULL\s0, the
223 If \fISSL_CIPHER_description()\fR cannot handle a built-in cipher, the according
224 description of the cipher property is \fBunknown\fR. This case should not
227 .IX Header "RETURN VALUES"
228 See \s-1DESCRIPTION\s0
230 .IX Header "SEE ALSO"
231 \&\fIssl\fR\|(3), \fISSL_get_current_cipher\fR\|(3),
232 \&\fISSL_get_ciphers\fR\|(3), \fIciphers\fR\|(1)