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