1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
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. | 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<>.
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 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
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
79 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
85 . \" simple accents for nroff and troff
95 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 . \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 . \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 . \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
129 .\" ========================================================================
131 .IX Title "EVP_OpenInit 3"
132 .TH EVP_OpenInit 3 "2005-02-24" "0.9.7d" "OpenSSL"
134 EVP_OpenInit, EVP_OpenUpdate, EVP_OpenFinal \- EVP envelope decryption
136 .IX Header "SYNOPSIS"
138 \& #include <openssl/evp.h>
142 \& int EVP_OpenInit(EVP_CIPHER_CTX *ctx,EVP_CIPHER *type,unsigned char *ek,
143 \& int ekl,unsigned char *iv,EVP_PKEY *priv);
144 \& int EVP_OpenUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
145 \& int *outl, unsigned char *in, int inl);
146 \& int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
150 .IX Header "DESCRIPTION"
151 The \s-1EVP\s0 envelope routines are a high level interface to envelope
152 decryption. They decrypt a public key encrypted symmetric key and
153 then decrypt data using it.
155 \&\fIEVP_OpenInit()\fR initializes a cipher context \fBctx\fR for decryption
156 with cipher \fBtype\fR. It decrypts the encrypted symmetric key of length
157 \&\fBekl\fR bytes passed in the \fBek\fR parameter using the private key \fBpriv\fR.
158 The \s-1IV\s0 is supplied in the \fBiv\fR parameter.
160 \&\fIEVP_OpenUpdate()\fR and \fIEVP_OpenFinal()\fR have exactly the same properties
161 as the \fIEVP_DecryptUpdate()\fR and \fIEVP_DecryptFinal()\fR routines, as
162 documented on the \fIEVP_EncryptInit\fR\|(3) manual
166 It is possible to call \fIEVP_OpenInit()\fR twice in the same way as
167 \&\fIEVP_DecryptInit()\fR. The first call should have \fBpriv\fR set to \s-1NULL\s0
168 and (after setting any cipher parameters) it should be called again
169 with \fBtype\fR set to \s-1NULL\s0.
171 If the cipher passed in the \fBtype\fR parameter is a variable length
172 cipher then the key length will be set to the value of the recovered
173 key length. If the cipher is a fixed length cipher then the recovered
174 key length must match the fixed cipher length.
176 .IX Header "RETURN VALUES"
177 \&\fIEVP_OpenInit()\fR returns 0 on error or a non zero integer (actually the
178 recovered secret key size) if successful.
180 \&\fIEVP_OpenUpdate()\fR returns 1 for success or 0 for failure.
182 \&\fIEVP_OpenFinal()\fR returns 0 if the decrypt failed or 1 for success.
184 .IX Header "SEE ALSO"
185 \&\fIevp\fR\|(3), \fIrand\fR\|(3),
186 \&\fIEVP_EncryptInit\fR\|(3),
187 \&\fIEVP_SealInit\fR\|(3)