diff options
author | jsing <> | 2014-04-15 17:24:25 +0000 |
---|---|---|
committer | jsing <> | 2014-04-15 17:24:25 +0000 |
commit | efda9114d24acfc8cde043a206766226c8423d7a (patch) | |
tree | dae53bcdf3b21ee61081268fa287e81ea8dad726 /src/lib/libcrypto/x509/x_all.c | |
parent | 5e2db4ec770e5a5da3656f8278b74cca84f5e910 (diff) | |
download | openbsd-efda9114d24acfc8cde043a206766226c8423d7a.tar.gz openbsd-efda9114d24acfc8cde043a206766226c8423d7a.tar.bz2 openbsd-efda9114d24acfc8cde043a206766226c8423d7a.zip |
First pass at applying KNF to the OpenSSL code, which almost makes it
readable. This pass is whitespace only and can readily be verified using
tr and md5.
Diffstat (limited to 'src/lib/libcrypto/x509/x_all.c')
-rw-r--r-- | src/lib/libcrypto/x509/x_all.c | 749 |
1 files changed, 417 insertions, 332 deletions
diff --git a/src/lib/libcrypto/x509/x_all.c b/src/lib/libcrypto/x509/x_all.c index e06602d65a..59099f026f 100644 --- a/src/lib/libcrypto/x509/x_all.c +++ b/src/lib/libcrypto/x509/x_all.c | |||
@@ -70,468 +70,553 @@ | |||
70 | #include <openssl/dsa.h> | 70 | #include <openssl/dsa.h> |
71 | #endif | 71 | #endif |
72 | 72 | ||
73 | int X509_verify(X509 *a, EVP_PKEY *r) | 73 | int |
74 | { | 74 | X509_verify(X509 *a, EVP_PKEY *r) |
75 | return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CINF),a->sig_alg, | 75 | { |
76 | a->signature,a->cert_info,r)); | 76 | return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CINF), a->sig_alg, |
77 | } | 77 | a->signature, a->cert_info, r)); |
78 | 78 | } | |
79 | int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) | 79 | |
80 | { | 80 | int |
81 | X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) | ||
82 | { | ||
81 | return( ASN1_item_verify(ASN1_ITEM_rptr(X509_REQ_INFO), | 83 | return( ASN1_item_verify(ASN1_ITEM_rptr(X509_REQ_INFO), |
82 | a->sig_alg,a->signature,a->req_info,r)); | 84 | a->sig_alg, a->signature, a->req_info, r)); |
83 | } | 85 | } |
84 | 86 | ||
85 | int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) | 87 | int |
86 | { | 88 | NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) |
89 | { | ||
87 | return(ASN1_item_verify(ASN1_ITEM_rptr(NETSCAPE_SPKAC), | 90 | return(ASN1_item_verify(ASN1_ITEM_rptr(NETSCAPE_SPKAC), |
88 | a->sig_algor,a->signature,a->spkac,r)); | 91 | a->sig_algor, a->signature, a->spkac, r)); |
89 | } | 92 | } |
90 | 93 | ||
91 | int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) | 94 | int |
92 | { | 95 | X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) |
96 | { | ||
93 | x->cert_info->enc.modified = 1; | 97 | x->cert_info->enc.modified = 1; |
94 | return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF), x->cert_info->signature, | 98 | return (ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF), |
95 | x->sig_alg, x->signature, x->cert_info,pkey,md)); | 99 | x->cert_info->signature, x->sig_alg, x->signature, |
96 | } | 100 | x->cert_info, pkey, md)); |
101 | } | ||
97 | 102 | ||
98 | int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx) | 103 | int |
99 | { | 104 | X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx) |
105 | { | ||
100 | x->cert_info->enc.modified = 1; | 106 | x->cert_info->enc.modified = 1; |
101 | return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CINF), | 107 | return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CINF), |
102 | x->cert_info->signature, | 108 | x->cert_info->signature, x->sig_alg, x->signature, |
103 | x->sig_alg, x->signature, x->cert_info, ctx); | 109 | x->cert_info, ctx); |
104 | } | 110 | } |
105 | 111 | ||
106 | int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) | 112 | int |
107 | { | 113 | X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) |
108 | return(ASN1_item_sign(ASN1_ITEM_rptr(X509_REQ_INFO),x->sig_alg, NULL, | 114 | { |
109 | x->signature, x->req_info,pkey,md)); | 115 | return (ASN1_item_sign(ASN1_ITEM_rptr(X509_REQ_INFO), |
110 | } | 116 | x->sig_alg, NULL, x->signature, x->req_info, pkey, md)); |
111 | 117 | } | |
112 | int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx) | 118 | |
113 | { | 119 | int |
120 | X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx) | ||
121 | { | ||
114 | return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_REQ_INFO), | 122 | return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_REQ_INFO), |
115 | x->sig_alg, NULL, x->signature, x->req_info, ctx); | 123 | x->sig_alg, NULL, x->signature, x->req_info, ctx); |
116 | } | 124 | } |
117 | 125 | ||
118 | int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md) | 126 | int |
119 | { | 127 | X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md) |
128 | { | ||
120 | x->crl->enc.modified = 1; | 129 | x->crl->enc.modified = 1; |
121 | return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CRL_INFO),x->crl->sig_alg, | 130 | return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CRL_INFO), x->crl->sig_alg, |
122 | x->sig_alg, x->signature, x->crl,pkey,md)); | 131 | x->sig_alg, x->signature, x->crl, pkey, md)); |
123 | } | 132 | } |
124 | 133 | ||
125 | int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx) | 134 | int |
126 | { | 135 | X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx) |
136 | { | ||
127 | x->crl->enc.modified = 1; | 137 | x->crl->enc.modified = 1; |
128 | return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CRL_INFO), | 138 | return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CRL_INFO), |
129 | x->crl->sig_alg, x->sig_alg, x->signature, x->crl, ctx); | 139 | x->crl->sig_alg, x->sig_alg, x->signature, x->crl, ctx); |
130 | } | 140 | } |
131 | 141 | ||
132 | int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md) | 142 | int |
133 | { | 143 | NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md) |
134 | return(ASN1_item_sign(ASN1_ITEM_rptr(NETSCAPE_SPKAC), x->sig_algor,NULL, | 144 | { |
135 | x->signature, x->spkac,pkey,md)); | 145 | return (ASN1_item_sign(ASN1_ITEM_rptr(NETSCAPE_SPKAC), |
136 | } | 146 | x->sig_algor, NULL, x->signature, x->spkac, pkey, md)); |
147 | } | ||
137 | 148 | ||
138 | #ifndef OPENSSL_NO_FP_API | 149 | #ifndef OPENSSL_NO_FP_API |
139 | X509 *d2i_X509_fp(FILE *fp, X509 **x509) | 150 | X509 |
140 | { | 151 | *d2i_X509_fp(FILE *fp, X509 **x509) |
152 | { | ||
141 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509); | 153 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509); |
142 | } | 154 | } |
143 | 155 | ||
144 | int i2d_X509_fp(FILE *fp, X509 *x509) | 156 | int |
145 | { | 157 | i2d_X509_fp(FILE *fp, X509 *x509) |
158 | { | ||
146 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509), fp, x509); | 159 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509), fp, x509); |
147 | } | 160 | } |
148 | #endif | 161 | #endif |
149 | 162 | ||
150 | X509 *d2i_X509_bio(BIO *bp, X509 **x509) | 163 | X509 |
151 | { | 164 | *d2i_X509_bio(BIO *bp, X509 **x509) |
165 | { | ||
152 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509), bp, x509); | 166 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509), bp, x509); |
153 | } | 167 | } |
154 | 168 | ||
155 | int i2d_X509_bio(BIO *bp, X509 *x509) | 169 | int |
156 | { | 170 | i2d_X509_bio(BIO *bp, X509 *x509) |
171 | { | ||
157 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509); | 172 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509); |
158 | } | 173 | } |
159 | 174 | ||
160 | #ifndef OPENSSL_NO_FP_API | 175 | #ifndef OPENSSL_NO_FP_API |
161 | X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl) | 176 | X509_CRL |
162 | { | 177 | *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl) |
178 | { | ||
163 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); | 179 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); |
164 | } | 180 | } |
165 | 181 | ||
166 | int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl) | 182 | int |
167 | { | 183 | i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl) |
184 | { | ||
168 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); | 185 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); |
169 | } | 186 | } |
170 | #endif | 187 | #endif |
171 | 188 | ||
172 | X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl) | 189 | X509_CRL |
173 | { | 190 | *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl) |
191 | { | ||
174 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); | 192 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); |
175 | } | 193 | } |
176 | 194 | ||
177 | int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl) | 195 | int |
178 | { | 196 | i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl) |
197 | { | ||
179 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); | 198 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); |
180 | } | 199 | } |
181 | 200 | ||
182 | #ifndef OPENSSL_NO_FP_API | 201 | #ifndef OPENSSL_NO_FP_API |
183 | PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7) | 202 | PKCS7 |
184 | { | 203 | *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7) |
204 | { | ||
185 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); | 205 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); |
186 | } | 206 | } |
187 | 207 | ||
188 | int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7) | 208 | int |
189 | { | 209 | i2d_PKCS7_fp(FILE *fp, PKCS7 *p7) |
210 | { | ||
190 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); | 211 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); |
191 | } | 212 | } |
192 | #endif | 213 | #endif |
193 | 214 | ||
194 | PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7) | 215 | PKCS7 |
195 | { | 216 | *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7) |
217 | { | ||
196 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); | 218 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); |
197 | } | 219 | } |
198 | 220 | ||
199 | int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7) | 221 | int |
200 | { | 222 | i2d_PKCS7_bio(BIO *bp, PKCS7 *p7) |
223 | { | ||
201 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); | 224 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); |
202 | } | 225 | } |
203 | 226 | ||
204 | #ifndef OPENSSL_NO_FP_API | 227 | #ifndef OPENSSL_NO_FP_API |
205 | X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req) | 228 | X509_REQ |
206 | { | 229 | *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req) |
230 | { | ||
207 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); | 231 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); |
208 | } | 232 | } |
209 | 233 | ||
210 | int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req) | 234 | int |
211 | { | 235 | i2d_X509_REQ_fp(FILE *fp, X509_REQ *req) |
236 | { | ||
212 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); | 237 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); |
213 | } | 238 | } |
214 | #endif | 239 | #endif |
215 | 240 | ||
216 | X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) | 241 | X509_REQ |
217 | { | 242 | *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) |
243 | { | ||
218 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); | 244 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); |
219 | } | 245 | } |
220 | 246 | ||
221 | int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req) | 247 | int |
222 | { | 248 | i2d_X509_REQ_bio(BIO *bp, X509_REQ *req) |
249 | { | ||
223 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); | 250 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); |
224 | } | 251 | } |
225 | 252 | ||
226 | #ifndef OPENSSL_NO_RSA | 253 | #ifndef OPENSSL_NO_RSA |
227 | 254 | ||
228 | #ifndef OPENSSL_NO_FP_API | 255 | #ifndef OPENSSL_NO_FP_API |
229 | RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa) | 256 | RSA |
230 | { | 257 | *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa) |
258 | { | ||
231 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); | 259 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); |
232 | } | 260 | } |
233 | 261 | ||
234 | int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa) | 262 | int |
235 | { | 263 | i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa) |
264 | { | ||
236 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); | 265 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); |
237 | } | 266 | } |
238 | 267 | ||
239 | RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa) | 268 | RSA |
240 | { | 269 | *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa) |
270 | { | ||
241 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa); | 271 | return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa); |
242 | } | 272 | } |
243 | 273 | ||
244 | 274 | ||
245 | RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) | 275 | RSA |
246 | { | 276 | *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) |
247 | return ASN1_d2i_fp((void *(*)(void)) | 277 | { |
248 | RSA_new,(D2I_OF(void))d2i_RSA_PUBKEY, fp, | 278 | return ASN1_d2i_fp((void *(*)(void))RSA_new, |
249 | (void **)rsa); | 279 | (D2I_OF(void))d2i_RSA_PUBKEY, fp, (void **)rsa); |
250 | } | 280 | } |
251 | 281 | ||
252 | int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) | 282 | int |
253 | { | 283 | i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) |
284 | { | ||
254 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa); | 285 | return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa); |
255 | } | 286 | } |
256 | 287 | ||
257 | int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) | 288 | int |
258 | { | 289 | i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) |
259 | return ASN1_i2d_fp((I2D_OF(void))i2d_RSA_PUBKEY,fp,rsa); | 290 | { |
260 | } | 291 | return ASN1_i2d_fp((I2D_OF(void))i2d_RSA_PUBKEY, fp, rsa); |
292 | } | ||
261 | #endif | 293 | #endif |
262 | 294 | ||
263 | RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa) | 295 | RSA |
264 | { | 296 | *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa) |
297 | { | ||
265 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); | 298 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); |
266 | } | 299 | } |
267 | 300 | ||
268 | int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa) | 301 | int |
269 | { | 302 | i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa) |
303 | { | ||
270 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); | 304 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); |
271 | } | 305 | } |
272 | 306 | ||
273 | RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa) | 307 | RSA |
274 | { | 308 | *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa) |
309 | { | ||
275 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa); | 310 | return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa); |
276 | } | 311 | } |
277 | 312 | ||
278 | 313 | ||
279 | RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) | 314 | RSA |
280 | { | 315 | *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) |
281 | return ASN1_d2i_bio_of(RSA,RSA_new,d2i_RSA_PUBKEY,bp,rsa); | 316 | { |
282 | } | 317 | return ASN1_d2i_bio_of(RSA, RSA_new, d2i_RSA_PUBKEY, bp, rsa); |
318 | } | ||
283 | 319 | ||
284 | int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) | 320 | int |
285 | { | 321 | i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) |
322 | { | ||
286 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa); | 323 | return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa); |
287 | } | 324 | } |
288 | 325 | ||
289 | int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) | 326 | int |
290 | { | 327 | i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) |
291 | return ASN1_i2d_bio_of(RSA,i2d_RSA_PUBKEY,bp,rsa); | 328 | { |
292 | } | 329 | return ASN1_i2d_bio_of(RSA, i2d_RSA_PUBKEY, bp, rsa); |
330 | } | ||
293 | #endif | 331 | #endif |
294 | 332 | ||
295 | #ifndef OPENSSL_NO_DSA | 333 | #ifndef OPENSSL_NO_DSA |
296 | #ifndef OPENSSL_NO_FP_API | 334 | #ifndef OPENSSL_NO_FP_API |
297 | DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa) | 335 | DSA |
298 | { | 336 | *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa) |
299 | return ASN1_d2i_fp_of(DSA,DSA_new,d2i_DSAPrivateKey,fp,dsa); | 337 | { |
300 | } | 338 | return ASN1_d2i_fp_of(DSA, DSA_new, d2i_DSAPrivateKey, fp, dsa); |
301 | 339 | } | |
302 | int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa) | 340 | |
303 | { | 341 | int |
304 | return ASN1_i2d_fp_of_const(DSA,i2d_DSAPrivateKey,fp,dsa); | 342 | i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa) |
305 | } | 343 | { |
306 | 344 | return ASN1_i2d_fp_of_const(DSA, i2d_DSAPrivateKey, fp, dsa); | |
307 | DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) | 345 | } |
308 | { | 346 | |
309 | return ASN1_d2i_fp_of(DSA,DSA_new,d2i_DSA_PUBKEY,fp,dsa); | 347 | DSA |
310 | } | 348 | *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) |
311 | 349 | { | |
312 | int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) | 350 | return ASN1_d2i_fp_of(DSA, DSA_new, d2i_DSA_PUBKEY, fp, dsa); |
313 | { | 351 | } |
314 | return ASN1_i2d_fp_of(DSA,i2d_DSA_PUBKEY,fp,dsa); | 352 | |
315 | } | 353 | int |
354 | i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) | ||
355 | { | ||
356 | return ASN1_i2d_fp_of(DSA, i2d_DSA_PUBKEY, fp, dsa); | ||
357 | } | ||
316 | #endif | 358 | #endif |
317 | 359 | ||
318 | DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa) | 360 | DSA |
319 | { | 361 | *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa) |
320 | return ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAPrivateKey,bp,dsa | 362 | { |
321 | ); | 363 | return ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSAPrivateKey, bp, dsa); |
322 | } | 364 | } |
323 | 365 | ||
324 | int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa) | 366 | int |
325 | { | 367 | i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa) |
326 | return ASN1_i2d_bio_of_const(DSA,i2d_DSAPrivateKey,bp,dsa); | 368 | { |
327 | } | 369 | return ASN1_i2d_bio_of_const(DSA, i2d_DSAPrivateKey, bp, dsa); |
370 | } | ||
328 | 371 | ||
329 | DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) | 372 | DSA |
330 | { | 373 | *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) |
331 | return ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSA_PUBKEY,bp,dsa); | 374 | { |
332 | } | 375 | return ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSA_PUBKEY, bp, dsa); |
376 | } | ||
333 | 377 | ||
334 | int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) | 378 | int |
335 | { | 379 | i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) |
336 | return ASN1_i2d_bio_of(DSA,i2d_DSA_PUBKEY,bp,dsa); | 380 | { |
337 | } | 381 | return ASN1_i2d_bio_of(DSA, i2d_DSA_PUBKEY, bp, dsa); |
382 | } | ||
338 | 383 | ||
339 | #endif | 384 | #endif |
340 | 385 | ||
341 | #ifndef OPENSSL_NO_EC | 386 | #ifndef OPENSSL_NO_EC |
342 | #ifndef OPENSSL_NO_FP_API | 387 | #ifndef OPENSSL_NO_FP_API |
343 | EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey) | 388 | EC_KEY |
344 | { | 389 | *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey) |
345 | return ASN1_d2i_fp_of(EC_KEY,EC_KEY_new,d2i_EC_PUBKEY,fp,eckey); | 390 | { |
346 | } | 391 | return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_EC_PUBKEY, fp, eckey); |
347 | 392 | } | |
348 | int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey) | 393 | |
349 | { | 394 | int |
350 | return ASN1_i2d_fp_of(EC_KEY,i2d_EC_PUBKEY,fp,eckey); | 395 | i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey) |
351 | } | 396 | { |
352 | 397 | return ASN1_i2d_fp_of(EC_KEY, i2d_EC_PUBKEY, fp, eckey); | |
353 | EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey) | 398 | } |
354 | { | 399 | |
355 | return ASN1_d2i_fp_of(EC_KEY,EC_KEY_new,d2i_ECPrivateKey,fp,eckey); | 400 | EC_KEY |
356 | } | 401 | *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey) |
357 | 402 | { | |
358 | int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey) | 403 | return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, fp, eckey); |
359 | { | 404 | } |
360 | return ASN1_i2d_fp_of(EC_KEY,i2d_ECPrivateKey,fp,eckey); | 405 | |
361 | } | 406 | int |
407 | i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey) | ||
408 | { | ||
409 | return ASN1_i2d_fp_of(EC_KEY, i2d_ECPrivateKey, fp, eckey); | ||
410 | } | ||
362 | #endif | 411 | #endif |
363 | EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey) | 412 | EC_KEY |
364 | { | 413 | *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey) |
365 | return ASN1_d2i_bio_of(EC_KEY,EC_KEY_new,d2i_EC_PUBKEY,bp,eckey); | 414 | { |
366 | } | 415 | return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_EC_PUBKEY, bp, eckey); |
367 | 416 | } | |
368 | int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ecdsa) | 417 | |
369 | { | 418 | int |
370 | return ASN1_i2d_bio_of(EC_KEY,i2d_EC_PUBKEY,bp,ecdsa); | 419 | i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ecdsa) |
371 | } | 420 | { |
372 | 421 | return ASN1_i2d_bio_of(EC_KEY, i2d_EC_PUBKEY, bp, ecdsa); | |
373 | EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey) | 422 | } |
374 | { | 423 | |
375 | return ASN1_d2i_bio_of(EC_KEY,EC_KEY_new,d2i_ECPrivateKey,bp,eckey); | 424 | EC_KEY |
376 | } | 425 | *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey) |
377 | 426 | { | |
378 | int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey) | 427 | return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, bp, eckey); |
379 | { | 428 | } |
380 | return ASN1_i2d_bio_of(EC_KEY,i2d_ECPrivateKey,bp,eckey); | 429 | |
381 | } | 430 | int |
431 | i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey) | ||
432 | { | ||
433 | return ASN1_i2d_bio_of(EC_KEY, i2d_ECPrivateKey, bp, eckey); | ||
434 | } | ||
382 | #endif | 435 | #endif |
383 | 436 | ||
384 | 437 | ||
385 | int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md, | 438 | int |
386 | unsigned int *len) | 439 | X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md, |
387 | { | 440 | unsigned int *len) |
441 | { | ||
388 | ASN1_BIT_STRING *key; | 442 | ASN1_BIT_STRING *key; |
389 | key = X509_get0_pubkey_bitstr(data); | 443 | key = X509_get0_pubkey_bitstr(data); |
390 | if(!key) return 0; | 444 | if (!key) |
445 | return 0; | ||
391 | return EVP_Digest(key->data, key->length, md, len, type, NULL); | 446 | return EVP_Digest(key->data, key->length, md, len, type, NULL); |
392 | } | 447 | } |
393 | 448 | ||
394 | int X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, | 449 | int |
395 | unsigned int *len) | 450 | X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, |
396 | { | 451 | unsigned int *len) |
397 | return(ASN1_item_digest(ASN1_ITEM_rptr(X509),type,(char *)data,md,len)); | 452 | { |
398 | } | 453 | return (ASN1_item_digest(ASN1_ITEM_rptr(X509), type, (char *)data, |
399 | 454 | md, len)); | |
400 | int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, | 455 | } |
401 | unsigned int *len) | 456 | |
402 | { | 457 | int |
403 | return(ASN1_item_digest(ASN1_ITEM_rptr(X509_CRL),type,(char *)data,md,len)); | 458 | X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, |
404 | } | 459 | unsigned int *len) |
405 | 460 | { | |
406 | int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md, | 461 | return (ASN1_item_digest(ASN1_ITEM_rptr(X509_CRL), type, (char *)data, |
407 | unsigned int *len) | 462 | md, len)); |
408 | { | 463 | } |
409 | return(ASN1_item_digest(ASN1_ITEM_rptr(X509_REQ),type,(char *)data,md,len)); | 464 | |
410 | } | 465 | int |
411 | 466 | X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md, | |
412 | int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, | 467 | unsigned int *len) |
413 | unsigned int *len) | 468 | { |
414 | { | 469 | return (ASN1_item_digest(ASN1_ITEM_rptr(X509_REQ), type,(char *)data, |
415 | return(ASN1_item_digest(ASN1_ITEM_rptr(X509_NAME),type,(char *)data,md,len)); | 470 | md, len)); |
416 | } | 471 | } |
417 | 472 | ||
418 | int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type, | 473 | int |
419 | unsigned char *md, unsigned int *len) | 474 | X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, |
420 | { | 475 | unsigned int *len) |
421 | return(ASN1_item_digest(ASN1_ITEM_rptr(PKCS7_ISSUER_AND_SERIAL),type, | 476 | { |
422 | (char *)data,md,len)); | 477 | return (ASN1_item_digest(ASN1_ITEM_rptr(X509_NAME), type,(char *)data, |
423 | } | 478 | md, len)); |
479 | } | ||
480 | |||
481 | int | ||
482 | PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, | ||
483 | const EVP_MD *type, unsigned char *md, unsigned int *len) | ||
484 | { | ||
485 | return(ASN1_item_digest(ASN1_ITEM_rptr(PKCS7_ISSUER_AND_SERIAL), type, | ||
486 | (char *)data, md, len)); | ||
487 | } | ||
424 | 488 | ||
425 | 489 | ||
426 | #ifndef OPENSSL_NO_FP_API | 490 | #ifndef OPENSSL_NO_FP_API |
427 | X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8) | 491 | X509_SIG |
428 | { | 492 | *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8) |
429 | return ASN1_d2i_fp_of(X509_SIG,X509_SIG_new,d2i_X509_SIG,fp,p8); | 493 | { |
430 | } | 494 | return ASN1_d2i_fp_of(X509_SIG, X509_SIG_new, d2i_X509_SIG, fp, p8); |
431 | 495 | } | |
432 | int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8) | 496 | |
433 | { | 497 | int |
434 | return ASN1_i2d_fp_of(X509_SIG,i2d_X509_SIG,fp,p8); | 498 | i2d_PKCS8_fp(FILE *fp, X509_SIG *p8) |
435 | } | 499 | { |
500 | return ASN1_i2d_fp_of(X509_SIG, i2d_X509_SIG, fp, p8); | ||
501 | } | ||
436 | #endif | 502 | #endif |
437 | 503 | ||
438 | X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8) | 504 | X509_SIG |
439 | { | 505 | *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8) |
440 | return ASN1_d2i_bio_of(X509_SIG,X509_SIG_new,d2i_X509_SIG,bp,p8); | 506 | { |
441 | } | 507 | return ASN1_d2i_bio_of(X509_SIG, X509_SIG_new, d2i_X509_SIG, bp, p8); |
508 | } | ||
442 | 509 | ||
443 | int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8) | 510 | int |
444 | { | 511 | i2d_PKCS8_bio(BIO *bp, X509_SIG *p8) |
445 | return ASN1_i2d_bio_of(X509_SIG,i2d_X509_SIG,bp,p8); | 512 | { |
446 | } | 513 | return ASN1_i2d_bio_of(X509_SIG, i2d_X509_SIG, bp, p8); |
514 | } | ||
447 | 515 | ||
448 | #ifndef OPENSSL_NO_FP_API | 516 | #ifndef OPENSSL_NO_FP_API |
449 | PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, | 517 | PKCS8_PRIV_KEY_INFO |
450 | PKCS8_PRIV_KEY_INFO **p8inf) | 518 | *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, |
451 | { | 519 | PKCS8_PRIV_KEY_INFO **p8inf) |
452 | return ASN1_d2i_fp_of(PKCS8_PRIV_KEY_INFO,PKCS8_PRIV_KEY_INFO_new, | 520 | { |
453 | d2i_PKCS8_PRIV_KEY_INFO,fp,p8inf); | 521 | return ASN1_d2i_fp_of(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_new, |
454 | } | 522 | d2i_PKCS8_PRIV_KEY_INFO, fp, p8inf); |
455 | 523 | } | |
456 | int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf) | 524 | |
457 | { | 525 | int |
458 | return ASN1_i2d_fp_of(PKCS8_PRIV_KEY_INFO,i2d_PKCS8_PRIV_KEY_INFO,fp, | 526 | i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf) |
459 | p8inf); | 527 | { |
460 | } | 528 | return ASN1_i2d_fp_of(PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO, |
461 | 529 | fp, p8inf); | |
462 | int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key) | 530 | } |
463 | { | 531 | |
532 | int | ||
533 | i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key) | ||
534 | { | ||
464 | PKCS8_PRIV_KEY_INFO *p8inf; | 535 | PKCS8_PRIV_KEY_INFO *p8inf; |
465 | int ret; | 536 | int ret; |
466 | p8inf = EVP_PKEY2PKCS8(key); | 537 | p8inf = EVP_PKEY2PKCS8(key); |
467 | if(!p8inf) return 0; | 538 | if (!p8inf) |
539 | return 0; | ||
468 | ret = i2d_PKCS8_PRIV_KEY_INFO_fp(fp, p8inf); | 540 | ret = i2d_PKCS8_PRIV_KEY_INFO_fp(fp, p8inf); |
469 | PKCS8_PRIV_KEY_INFO_free(p8inf); | 541 | PKCS8_PRIV_KEY_INFO_free(p8inf); |
470 | return ret; | 542 | return ret; |
471 | } | 543 | } |
472 | 544 | ||
473 | int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey) | 545 | int |
474 | { | 546 | i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey) |
475 | return ASN1_i2d_fp_of(EVP_PKEY,i2d_PrivateKey,fp,pkey); | 547 | { |
476 | } | 548 | return ASN1_i2d_fp_of(EVP_PKEY, i2d_PrivateKey, fp, pkey); |
549 | } | ||
477 | 550 | ||
478 | EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) | 551 | EVP_PKEY |
552 | *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) | ||
479 | { | 553 | { |
480 | return ASN1_d2i_fp_of(EVP_PKEY,EVP_PKEY_new,d2i_AutoPrivateKey,fp,a); | 554 | return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, |
555 | fp, a); | ||
481 | } | 556 | } |
482 | 557 | ||
483 | int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey) | 558 | int |
484 | { | 559 | i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey) |
485 | return ASN1_i2d_fp_of(EVP_PKEY,i2d_PUBKEY,fp,pkey); | 560 | { |
486 | } | 561 | return ASN1_i2d_fp_of(EVP_PKEY, i2d_PUBKEY, fp, pkey); |
562 | } | ||
487 | 563 | ||
488 | EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a) | 564 | EVP_PKEY |
565 | *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a) | ||
489 | { | 566 | { |
490 | return ASN1_d2i_fp_of(EVP_PKEY,EVP_PKEY_new,d2i_PUBKEY,fp,a); | 567 | return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_PUBKEY, fp, a); |
491 | } | 568 | } |
492 | 569 | ||
493 | #endif | 570 | #endif |
494 | 571 | ||
495 | PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, | 572 | PKCS8_PRIV_KEY_INFO |
496 | PKCS8_PRIV_KEY_INFO **p8inf) | 573 | *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, |
497 | { | 574 | PKCS8_PRIV_KEY_INFO **p8inf) |
498 | return ASN1_d2i_bio_of(PKCS8_PRIV_KEY_INFO,PKCS8_PRIV_KEY_INFO_new, | 575 | { |
499 | d2i_PKCS8_PRIV_KEY_INFO,bp,p8inf); | 576 | return ASN1_d2i_bio_of(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_new, |
500 | } | 577 | d2i_PKCS8_PRIV_KEY_INFO, bp, p8inf); |
501 | 578 | } | |
502 | int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf) | 579 | |
503 | { | 580 | int |
504 | return ASN1_i2d_bio_of(PKCS8_PRIV_KEY_INFO,i2d_PKCS8_PRIV_KEY_INFO,bp, | 581 | i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf) |
505 | p8inf); | 582 | { |
506 | } | 583 | return ASN1_i2d_bio_of(PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO, |
507 | 584 | bp, p8inf); | |
508 | int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key) | 585 | } |
509 | { | 586 | |
587 | int | ||
588 | i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key) | ||
589 | { | ||
510 | PKCS8_PRIV_KEY_INFO *p8inf; | 590 | PKCS8_PRIV_KEY_INFO *p8inf; |
511 | int ret; | 591 | int ret; |
512 | p8inf = EVP_PKEY2PKCS8(key); | 592 | p8inf = EVP_PKEY2PKCS8(key); |
513 | if(!p8inf) return 0; | 593 | if (!p8inf) |
594 | return 0; | ||
514 | ret = i2d_PKCS8_PRIV_KEY_INFO_bio(bp, p8inf); | 595 | ret = i2d_PKCS8_PRIV_KEY_INFO_bio(bp, p8inf); |
515 | PKCS8_PRIV_KEY_INFO_free(p8inf); | 596 | PKCS8_PRIV_KEY_INFO_free(p8inf); |
516 | return ret; | 597 | return ret; |
517 | } | 598 | } |
518 | 599 | ||
519 | int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey) | 600 | int |
520 | { | 601 | i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey) |
521 | return ASN1_i2d_bio_of(EVP_PKEY,i2d_PrivateKey,bp,pkey); | 602 | { |
522 | } | 603 | return ASN1_i2d_bio_of(EVP_PKEY, i2d_PrivateKey, bp, pkey); |
523 | 604 | } | |
524 | EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) | 605 | |
525 | { | 606 | EVP_PKEY |
526 | return ASN1_d2i_bio_of(EVP_PKEY,EVP_PKEY_new,d2i_AutoPrivateKey,bp,a); | 607 | *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) |
527 | } | 608 | { |
528 | 609 | return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, bp, a); | |
529 | int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey) | 610 | } |
530 | { | 611 | |
531 | return ASN1_i2d_bio_of(EVP_PKEY,i2d_PUBKEY,bp,pkey); | 612 | int |
532 | } | 613 | i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey) |
533 | 614 | { | |
534 | EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a) | 615 | return ASN1_i2d_bio_of(EVP_PKEY, i2d_PUBKEY, bp, pkey); |
535 | { | 616 | } |
536 | return ASN1_d2i_bio_of(EVP_PKEY,EVP_PKEY_new,d2i_PUBKEY,bp,a); | 617 | |
537 | } | 618 | EVP_PKEY |
619 | *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a) | ||
620 | { | ||
621 | return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_PUBKEY, bp, a); | ||
622 | } | ||