Deleted Added
sdiff udiff text old ( 206048 ) new ( 215698 )
full compact
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.37
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
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<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
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
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
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.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
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
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1

--- 48 unchanged lines hidden (view full) ---

124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "RSA_set_method 3"
132.TH RSA_set_method 3 "2010-03-24" "0.9.8n" "OpenSSL"
133.SH "NAME"
134RSA_set_default_method, RSA_get_default_method, RSA_set_method,
135RSA_get_method, RSA_PKCS1_SSLeay, RSA_null_method, RSA_flags,
136RSA_new_method \- select RSA method
137.SH "SYNOPSIS"
138.IX Header "SYNOPSIS"
139.Vb 1
140\& #include <openssl/rsa.h>
141.Ve
142.PP
143.Vb 1
144\& void RSA_set_default_method(const RSA_METHOD *meth);
145.Ve
146.PP
147.Vb 1
148\& RSA_METHOD *RSA_get_default_method(void);
149.Ve
150.PP
151.Vb 1
152\& int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
153.Ve
154.PP
155.Vb 1
156\& RSA_METHOD *RSA_get_method(const RSA *rsa);
157.Ve
158.PP
159.Vb 1
160\& RSA_METHOD *RSA_PKCS1_SSLeay(void);
161.Ve
162.PP
163.Vb 1
164\& RSA_METHOD *RSA_null_method(void);
165.Ve
166.PP
167.Vb 1
168\& int RSA_flags(const RSA *rsa);
169.Ve
170.PP
171.Vb 1
172\& RSA *RSA_new_method(RSA_METHOD *method);
173.Ve
174.SH "DESCRIPTION"
175.IX Header "DESCRIPTION"
176An \fB\s-1RSA_METHOD\s0\fR specifies the functions that OpenSSL uses for \s-1RSA\s0
177operations. By modifying the method, alternative implementations such as
178hardware accelerators may be used. \s-1IMPORTANT:\s0 See the \s-1NOTES\s0 section for
179important information about how these \s-1RSA\s0 \s-1API\s0 functions are affected by the

--- 41 unchanged lines hidden (view full) ---

221the default method is used.
222.SH "THE RSA_METHOD STRUCTURE"
223.IX Header "THE RSA_METHOD STRUCTURE"
224.Vb 4
225\& typedef struct rsa_meth_st
226\& {
227\& /* name of the implementation */
228\& const char *name;
229.Ve
230.PP
231.Vb 3
232\& /* encrypt */
233\& int (*rsa_pub_enc)(int flen, unsigned char *from,
234\& unsigned char *to, RSA *rsa, int padding);
235.Ve
236.PP
237.Vb 3
238\& /* verify arbitrary data */
239\& int (*rsa_pub_dec)(int flen, unsigned char *from,
240\& unsigned char *to, RSA *rsa, int padding);
241.Ve
242.PP
243.Vb 3
244\& /* sign arbitrary data */
245\& int (*rsa_priv_enc)(int flen, unsigned char *from,
246\& unsigned char *to, RSA *rsa, int padding);
247.Ve
248.PP
249.Vb 3
250\& /* decrypt */
251\& int (*rsa_priv_dec)(int flen, unsigned char *from,
252\& unsigned char *to, RSA *rsa, int padding);
253.Ve
254.PP
255.Vb 3
256\& /* compute r0 = r0 ^ I mod rsa->n (May be NULL for some
257\& implementations) */
258\& int (*rsa_mod_exp)(BIGNUM *r0, BIGNUM *I, RSA *rsa);
259.Ve
260.PP
261.Vb 3
262\& /* compute r = a ^ p mod m (May be NULL for some implementations) */
263\& int (*bn_mod_exp)(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
264\& const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx);
265.Ve
266.PP
267.Vb 2
268\& /* called at RSA_new */
269\& int (*init)(RSA *rsa);
270.Ve
271.PP
272.Vb 2
273\& /* called at RSA_free */
274\& int (*finish)(RSA *rsa);
275.Ve
276.PP
277.Vb 7
278\& /* RSA_FLAG_EXT_PKEY - rsa_mod_exp is called for private key
279\& * operations, even if p,q,dmp1,dmq1,iqmp
280\& * are NULL
281\& * RSA_FLAG_SIGN_VER - enable rsa_sign and rsa_verify
282\& * RSA_METHOD_FLAG_NO_CHECK - don't check pub/private match
283\& */
284\& int flags;
285.Ve
286.PP
287.Vb 1
288\& char *app_data; /* ?? */
289.Ve
290.PP
291.Vb 5
292\& /* sign. For backward compatibility, this is used only
293\& * if (flags & RSA_FLAG_SIGN_VER)
294\& */
295\& int (*rsa_sign)(int type, unsigned char *m, unsigned int m_len,
296\& unsigned char *sigret, unsigned int *siglen, RSA *rsa);
297.Ve
298.PP
299.Vb 5
300\& /* verify. For backward compatibility, this is used only
301\& * if (flags & RSA_FLAG_SIGN_VER)
302\& */
303\& int (*rsa_verify)(int type, unsigned char *m, unsigned int m_len,
304\& unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
305.Ve
306.PP
307.Vb 1
308\& } RSA_METHOD;
309.Ve
310.SH "RETURN VALUES"
311.IX Header "RETURN VALUES"
312\&\fIRSA_PKCS1_SSLeay()\fR, \fIRSA_PKCS1_null_method()\fR, \fIRSA_get_default_method()\fR
313and \fIRSA_get_method()\fR return pointers to the respective RSA_METHODs.
314.PP
315\&\fIRSA_set_default_method()\fR returns no value.

--- 52 unchanged lines hidden ---