diff options
Diffstat (limited to 'src/lib/libcrypto/ec')
-rw-r--r-- | src/lib/libcrypto/ec/ec.h | 5 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ec_lib.c | 18 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/lib/libcrypto/ec/ec.h b/src/lib/libcrypto/ec/ec.h index 3b409ff92d..a1ece2e0d5 100644 --- a/src/lib/libcrypto/ec/ec.h +++ b/src/lib/libcrypto/ec/ec.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec.h,v 1.10 2015/06/20 13:26:08 jsing Exp $ */ | 1 | /* $OpenBSD: ec.h,v 1.11 2015/10/13 15:25:18 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Originally written by Bodo Moeller for the OpenSSL project. | 3 | * Originally written by Bodo Moeller for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -945,8 +945,7 @@ int ECParameters_print_fp(FILE *fp, const EC_KEY *key); | |||
945 | */ | 945 | */ |
946 | int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); | 946 | int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); |
947 | 947 | ||
948 | 948 | EC_KEY *ECParameters_dup(EC_KEY *key); | |
949 | #define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) | ||
950 | 949 | ||
951 | #ifndef __cplusplus | 950 | #ifndef __cplusplus |
952 | #if defined(__SUNPRO_C) | 951 | #if defined(__SUNPRO_C) |
diff --git a/src/lib/libcrypto/ec/ec_lib.c b/src/lib/libcrypto/ec/ec_lib.c index c28ab18fc0..2b5abbd4bb 100644 --- a/src/lib/libcrypto/ec/ec_lib.c +++ b/src/lib/libcrypto/ec/ec_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec_lib.c,v 1.19 2015/09/10 15:56:25 jsing Exp $ */ | 1 | /* $OpenBSD: ec_lib.c,v 1.20 2015/10/13 15:25:18 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Originally written by Bodo Moeller for the OpenSSL project. | 3 | * Originally written by Bodo Moeller for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -1102,3 +1102,19 @@ EC_GROUP_have_precompute_mult(const EC_GROUP * group) | |||
1102 | return 0; /* cannot tell whether precomputation has | 1102 | return 0; /* cannot tell whether precomputation has |
1103 | * been performed */ | 1103 | * been performed */ |
1104 | } | 1104 | } |
1105 | |||
1106 | EC_KEY * | ||
1107 | ECParameters_dup(EC_KEY *key) | ||
1108 | { | ||
1109 | unsigned char *p = NULL; | ||
1110 | EC_KEY *k = NULL; | ||
1111 | int len; | ||
1112 | |||
1113 | if (key == NULL) | ||
1114 | return (NULL); | ||
1115 | |||
1116 | if ((len = i2d_ECParameters(key, &p)) > 0) | ||
1117 | k = d2i_ECParameters(NULL, (const unsigned char **)&p, len); | ||
1118 | |||
1119 | return (k); | ||
1120 | } | ||