1 .\" Automatically generated by Pod::Man 2.12 (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 .\" 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 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
65 . \" fudge factors for nroff and troff
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 . \" simple accents for nroff and troff
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
97 . \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 . \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 . \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
124 .\" ========================================================================
126 .IX Title "SSL_CIPHER_get_name 3"
127 .TH SSL_CIPHER_get_name 3 "2007-10-24" "0.9.8g" "OpenSSL"
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
133 SSL_CIPHER_get_name, SSL_CIPHER_get_bits, SSL_CIPHER_get_version, SSL_CIPHER_description \- get SSL_CIPHER properties
135 .IX Header "SYNOPSIS"
137 \& #include <openssl/ssl.h>
139 \& const char *SSL_CIPHER_get_name(const SSL_CIPHER *cipher);
140 \& int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
141 \& char *SSL_CIPHER_get_version(const SSL_CIPHER *cipher);
142 \& char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int size);
145 .IX Header "DESCRIPTION"
146 \&\fISSL_CIPHER_get_name()\fR returns a pointer to the name of \fBcipher\fR. If the
147 argument is the \s-1NULL\s0 pointer, a pointer to the constant value \*(L"\s-1NONE\s0\*(R" is
150 \&\fISSL_CIPHER_get_bits()\fR returns the number of secret bits used for \fBcipher\fR. If
151 \&\fBalg_bits\fR is not \s-1NULL\s0, it contains the number of bits processed by the
152 chosen algorithm. If \fBcipher\fR is \s-1NULL\s0, 0 is returned.
154 \&\fISSL_CIPHER_get_version()\fR returns the protocol version for \fBcipher\fR, currently
155 \&\*(L"SSLv2\*(R", \*(L"SSLv3\*(R", or \*(L"TLSv1\*(R". If \fBcipher\fR is \s-1NULL\s0, \*(L"(\s-1NONE\s0)\*(R" is returned.
157 \&\fISSL_CIPHER_description()\fR returns a textual description of the cipher used
158 into the buffer \fBbuf\fR of length \fBlen\fR provided. \fBlen\fR must be at least
159 128 bytes, otherwise a pointer to the the string \*(L"Buffer too small\*(R" is
160 returned. If \fBbuf\fR is \s-1NULL\s0, a buffer of 128 bytes is allocated using
161 \&\fIOPENSSL_malloc()\fR. If the allocation fails, a pointer to the string
162 \&\*(L"OPENSSL_malloc Error\*(R" is returned.
165 The number of bits processed can be different from the secret bits. An
166 export cipher like e.g. \s-1EXP\-RC4\-MD5\s0 has only 40 secret bits. The algorithm
167 does use the full 128 bits (which would be returned for \fBalg_bits\fR), of
168 which however 88bits are fixed. The search space is hence only 40 bits.
170 The string returned by \fISSL_CIPHER_description()\fR in case of success consists
171 of cleartext information separated by one or more blanks in the following
174 .IX Item "<ciphername>"
175 Textual representation of the cipher name.
176 .IP "<protocol version>" 4
177 .IX Item "<protocol version>"
178 Protocol version: \fBSSLv2\fR, \fBSSLv3\fR. The TLSv1 ciphers are flagged with SSLv3.
179 .IP "Kx=<key exchange>" 4
180 .IX Item "Kx=<key exchange>"
181 Key exchange method: \fB\s-1RSA\s0\fR (for export ciphers as \fB\s-1RSA\s0(512)\fR or
182 \&\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),
183 \&\fB\s-1DH/RSA\s0\fR, \fB\s-1DH/DSS\s0\fR, \fBFortezza\fR.
184 .IP "Au=<authentication>" 4
185 .IX Item "Au=<authentication>"
186 Authentication method: \fB\s-1RSA\s0\fR, \fB\s-1DSS\s0\fR, \fB\s-1DH\s0\fR, \fBNone\fR. None is the
187 representation of anonymous ciphers.
188 .IP "Enc=<symmetric encryption method>" 4
189 .IX Item "Enc=<symmetric encryption method>"
190 Encryption method with number of secret bits: \fB\s-1DES\s0(40)\fR, \fB\s-1DES\s0(56)\fR,
191 \&\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,
192 \&\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.
193 .IP "Mac=<message authentication code>" 4
194 .IX Item "Mac=<message authentication code>"
195 Message digest: \fB\s-1MD5\s0\fR, \fB\s-1SHA1\s0\fR.
196 .IP "<export flag>" 4
197 .IX Item "<export flag>"
198 If the cipher is flagged exportable with respect to old \s-1US\s0 crypto
199 regulations, the word "\fBexport\fR" is printed.
201 .IX Header "EXAMPLES"
202 Some examples for the output of \fISSL_CIPHER_description()\fR:
205 \& EDH\-RSA\-DES\-CBC3\-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
206 \& EDH\-DSS\-DES\-CBC3\-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
207 \& RC4\-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
208 \& EXP\-RC4\-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
212 If \fISSL_CIPHER_description()\fR is called with \fBcipher\fR being \s-1NULL\s0, the
215 If \fISSL_CIPHER_description()\fR cannot handle a built-in cipher, the according
216 description of the cipher property is \fBunknown\fR. This case should not
219 .IX Header "RETURN VALUES"
220 See \s-1DESCRIPTION\s0
222 .IX Header "SEE ALSO"
223 \&\fIssl\fR\|(3), \fISSL_get_current_cipher\fR\|(3),
224 \&\fISSL_get_ciphers\fR\|(3), \fIciphers\fR\|(1)