diff options
author | djm <> | 2012-10-13 21:23:50 +0000 |
---|---|---|
committer | djm <> | 2012-10-13 21:23:50 +0000 |
commit | 228cae30b117c2493f69ad3c195341cd6ec8d430 (patch) | |
tree | 29ff00b10d52c0978077c4fd83c33b065bade73e /src/lib/libcrypto/evp/pmeth_lib.c | |
parent | 731838c66b52c0ae5888333005b74115a620aa96 (diff) | |
download | openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.tar.gz openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.tar.bz2 openbsd-228cae30b117c2493f69ad3c195341cd6ec8d430.zip |
import OpenSSL-1.0.1c
Diffstat (limited to 'src/lib/libcrypto/evp/pmeth_lib.c')
-rw-r--r-- | src/lib/libcrypto/evp/pmeth_lib.c | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/src/lib/libcrypto/evp/pmeth_lib.c b/src/lib/libcrypto/evp/pmeth_lib.c index 5481d4b8a5..acfa7b6f87 100644 --- a/src/lib/libcrypto/evp/pmeth_lib.c +++ b/src/lib/libcrypto/evp/pmeth_lib.c | |||
@@ -73,7 +73,7 @@ DECLARE_STACK_OF(EVP_PKEY_METHOD) | |||
73 | STACK_OF(EVP_PKEY_METHOD) *app_pkey_methods = NULL; | 73 | STACK_OF(EVP_PKEY_METHOD) *app_pkey_methods = NULL; |
74 | 74 | ||
75 | extern const EVP_PKEY_METHOD rsa_pkey_meth, dh_pkey_meth, dsa_pkey_meth; | 75 | extern const EVP_PKEY_METHOD rsa_pkey_meth, dh_pkey_meth, dsa_pkey_meth; |
76 | extern const EVP_PKEY_METHOD ec_pkey_meth, hmac_pkey_meth; | 76 | extern const EVP_PKEY_METHOD ec_pkey_meth, hmac_pkey_meth, cmac_pkey_meth; |
77 | 77 | ||
78 | static const EVP_PKEY_METHOD *standard_methods[] = | 78 | static const EVP_PKEY_METHOD *standard_methods[] = |
79 | { | 79 | { |
@@ -90,6 +90,7 @@ static const EVP_PKEY_METHOD *standard_methods[] = | |||
90 | &ec_pkey_meth, | 90 | &ec_pkey_meth, |
91 | #endif | 91 | #endif |
92 | &hmac_pkey_meth, | 92 | &hmac_pkey_meth, |
93 | &cmac_pkey_meth | ||
93 | }; | 94 | }; |
94 | 95 | ||
95 | DECLARE_OBJ_BSEARCH_CMP_FN(const EVP_PKEY_METHOD *, const EVP_PKEY_METHOD *, | 96 | DECLARE_OBJ_BSEARCH_CMP_FN(const EVP_PKEY_METHOD *, const EVP_PKEY_METHOD *, |
@@ -203,6 +204,8 @@ EVP_PKEY_METHOD* EVP_PKEY_meth_new(int id, int flags) | |||
203 | if (!pmeth) | 204 | if (!pmeth) |
204 | return NULL; | 205 | return NULL; |
205 | 206 | ||
207 | memset(pmeth, 0, sizeof(EVP_PKEY_METHOD)); | ||
208 | |||
206 | pmeth->pkey_id = id; | 209 | pmeth->pkey_id = id; |
207 | pmeth->flags = flags | EVP_PKEY_FLAG_DYNAMIC; | 210 | pmeth->flags = flags | EVP_PKEY_FLAG_DYNAMIC; |
208 | 211 | ||
@@ -235,6 +238,56 @@ EVP_PKEY_METHOD* EVP_PKEY_meth_new(int id, int flags) | |||
235 | return pmeth; | 238 | return pmeth; |
236 | } | 239 | } |
237 | 240 | ||
241 | void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, | ||
242 | const EVP_PKEY_METHOD *meth) | ||
243 | { | ||
244 | if (ppkey_id) | ||
245 | *ppkey_id = meth->pkey_id; | ||
246 | if (pflags) | ||
247 | *pflags = meth->flags; | ||
248 | } | ||
249 | |||
250 | void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src) | ||
251 | { | ||
252 | |||
253 | dst->init = src->init; | ||
254 | dst->copy = src->copy; | ||
255 | dst->cleanup = src->cleanup; | ||
256 | |||
257 | dst->paramgen_init = src->paramgen_init; | ||
258 | dst->paramgen = src->paramgen; | ||
259 | |||
260 | dst->keygen_init = src->keygen_init; | ||
261 | dst->keygen = src->keygen; | ||
262 | |||
263 | dst->sign_init = src->sign_init; | ||
264 | dst->sign = src->sign; | ||
265 | |||
266 | dst->verify_init = src->verify_init; | ||
267 | dst->verify = src->verify; | ||
268 | |||
269 | dst->verify_recover_init = src->verify_recover_init; | ||
270 | dst->verify_recover = src->verify_recover; | ||
271 | |||
272 | dst->signctx_init = src->signctx_init; | ||
273 | dst->signctx = src->signctx; | ||
274 | |||
275 | dst->verifyctx_init = src->verifyctx_init; | ||
276 | dst->verifyctx = src->verifyctx; | ||
277 | |||
278 | dst->encrypt_init = src->encrypt_init; | ||
279 | dst->encrypt = src->encrypt; | ||
280 | |||
281 | dst->decrypt_init = src->decrypt_init; | ||
282 | dst->decrypt = src->decrypt; | ||
283 | |||
284 | dst->derive_init = src->derive_init; | ||
285 | dst->derive = src->derive; | ||
286 | |||
287 | dst->ctrl = src->ctrl; | ||
288 | dst->ctrl_str = src->ctrl_str; | ||
289 | } | ||
290 | |||
238 | void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth) | 291 | void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth) |
239 | { | 292 | { |
240 | if (pmeth && (pmeth->flags & EVP_PKEY_FLAG_DYNAMIC)) | 293 | if (pmeth && (pmeth->flags & EVP_PKEY_FLAG_DYNAMIC)) |