Deleted Added
full compact
RSA_set_method.3 (206048) RSA_set_method.3 (215698)
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.37
1.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
2.\"
3.\" Standard preamble:
4.\" ========================================================================
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
5.de Sp \" Vertical space (when we can't use .PP)
6.if t .sp .5v
7.if n .sp
8..
9.de Vb \" Begin verbatim text
10.ft CW
11.nf
12.ne \\$1
13..
14.de Ve \" End verbatim text
15.ft R
16.fi
17..
18.\" Set up some character translations and predefined strings. \*(-- will
19.\" 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
20.\" double quote, and \*(R" will give a right double quote. \*(C+ will
21.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23.\" nothing in troff, for use with C<>.
24.tr \(*W-
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.\"
25.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26.ie n \{\
27. ds -- \(*W-
28. ds PI pi
29. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31. ds L" ""
32. ds R" ""
33. ds C` ""
34. ds C' ""
35'br\}
36.el\{\
37. ds -- \|\(em\|
38. ds PI \(*p
39. ds L" ``
40. ds R" ''
41'br\}
42.\"
43.\" Escape single quotes in literal strings from groff's Unicode transform.
44.ie \n(.g .ds Aq \(aq
45.el .ds Aq '
46.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
47.\" 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
48.\" titles (.TH), headers (.SH), subsections (.SS), 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.
49.\" entries marked with X<> in POD. Of course, you'll have to process the
50.\" output yourself in some meaningful fashion.
55.if \nF \{\
51.ie \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
52. de IX
53. tm Index:\\$1\t\\n%\t"\\$2"
54..
55. nr % 0
56. rr F
57.\}
58.el \{\
59. de IX
60..
61.\}
62.\"
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"
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
66.if n \{\
67. ds #H 0
68. ds #V .8m
69. ds #F .3m
70. ds #[ \f1

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

119. ds Th \o'LP'
120. ds ae ae
121. ds Ae AE
122.\}
123.rm #[ #] #H #V #F C
124.\" ========================================================================
125.\"
126.IX Title "RSA_set_method 3"
132.TH RSA_set_method 3 "2010-03-24" "0.9.8n" "OpenSSL"
127.TH RSA_set_method 3 "2010-11-16" "0.9.8p" "OpenSSL"
128.\" For nroff, turn off justification. Always turn off hyphenation; it makes
129.\" way too many mistakes in technical documents.
130.if n .ad l
131.nh
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>
132.SH "NAME"
133RSA_set_default_method, RSA_get_default_method, RSA_set_method,
134RSA_get_method, RSA_PKCS1_SSLeay, RSA_null_method, RSA_flags,
135RSA_new_method \- select RSA method
136.SH "SYNOPSIS"
137.IX Header "SYNOPSIS"
138.Vb 1
139\& #include <openssl/rsa.h>
141.Ve
142.PP
143.Vb 1
140\&
144\& void RSA_set_default_method(const RSA_METHOD *meth);
141\& void RSA_set_default_method(const RSA_METHOD *meth);
145.Ve
146.PP
147.Vb 1
142\&
148\& RSA_METHOD *RSA_get_default_method(void);
143\& RSA_METHOD *RSA_get_default_method(void);
149.Ve
150.PP
151.Vb 1
144\&
152\& int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
145\& int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
153.Ve
154.PP
155.Vb 1
146\&
156\& RSA_METHOD *RSA_get_method(const RSA *rsa);
147\& RSA_METHOD *RSA_get_method(const RSA *rsa);
157.Ve
158.PP
159.Vb 1
148\&
160\& RSA_METHOD *RSA_PKCS1_SSLeay(void);
149\& RSA_METHOD *RSA_PKCS1_SSLeay(void);
161.Ve
162.PP
163.Vb 1
150\&
164\& RSA_METHOD *RSA_null_method(void);
151\& RSA_METHOD *RSA_null_method(void);
165.Ve
166.PP
167.Vb 1
152\&
168\& int RSA_flags(const RSA *rsa);
153\& int RSA_flags(const RSA *rsa);
169.Ve
170.PP
171.Vb 1
154\&
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;
155\& RSA *RSA_new_method(RSA_METHOD *method);
156.Ve
157.SH "DESCRIPTION"
158.IX Header "DESCRIPTION"
159An \fB\s-1RSA_METHOD\s0\fR specifies the functions that OpenSSL uses for \s-1RSA\s0
160operations. By modifying the method, alternative implementations such as
161hardware accelerators may be used. \s-1IMPORTANT:\s0 See the \s-1NOTES\s0 section for
162important information about how these \s-1RSA\s0 \s-1API\s0 functions are affected by the

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

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

--- 52 unchanged lines hidden ---