diff options
author | miod <> | 2014-05-24 15:21:40 +0000 |
---|---|---|
committer | miod <> | 2014-05-24 15:21:40 +0000 |
commit | 694736847951a5eb292719b02fe4b0db4d09766f (patch) | |
tree | d0ab605540de4c2b23dc328328984f29ce58816e /src | |
parent | a5d2477869eef9687a4a5e983f5595651084c7d0 (diff) | |
download | openbsd-694736847951a5eb292719b02fe4b0db4d09766f.tar.gz openbsd-694736847951a5eb292719b02fe4b0db4d09766f.tar.bz2 openbsd-694736847951a5eb292719b02fe4b0db4d09766f.zip |
Enable three brainpool elliptic curves for TLS, as specified in RFC 7027;
from OpenSSL HEAD.
ok beck@ deraadt@ jsing@
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libssl/src/ssl/t1_lib.c | 14 | ||||
-rw-r--r-- | src/lib/libssl/t1_lib.c | 14 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/lib/libssl/src/ssl/t1_lib.c b/src/lib/libssl/src/ssl/t1_lib.c index e01b7bdb10..63537888ae 100644 --- a/src/lib/libssl/src/ssl/t1_lib.c +++ b/src/lib/libssl/src/ssl/t1_lib.c | |||
@@ -202,18 +202,24 @@ static int nid_list[] = { | |||
202 | NID_secp256k1, /* secp256k1 (22) */ | 202 | NID_secp256k1, /* secp256k1 (22) */ |
203 | NID_X9_62_prime256v1, /* secp256r1 (23) */ | 203 | NID_X9_62_prime256v1, /* secp256r1 (23) */ |
204 | NID_secp384r1, /* secp384r1 (24) */ | 204 | NID_secp384r1, /* secp384r1 (24) */ |
205 | NID_secp521r1 /* secp521r1 (25) */ | 205 | NID_secp521r1, /* secp521r1 (25) */ |
206 | NID_brainpoolP256r1, /* brainpoolP256r1 (26) */ | ||
207 | NID_brainpoolP384r1, /* brainpoolP384r1 (27) */ | ||
208 | NID_brainpoolP512r1 /* brainpoolP512r1 (28) */ | ||
206 | }; | 209 | }; |
207 | 210 | ||
208 | static int pref_list[] = { | 211 | static int pref_list[] = { |
209 | NID_sect571r1, /* sect571r1 (14) */ | 212 | NID_sect571r1, /* sect571r1 (14) */ |
210 | NID_sect571k1, /* sect571k1 (13) */ | 213 | NID_sect571k1, /* sect571k1 (13) */ |
211 | NID_secp521r1, /* secp521r1 (25) */ | 214 | NID_secp521r1, /* secp521r1 (25) */ |
215 | NID_brainpoolP512r1, /* brainpoolP512r1 (28) */ | ||
212 | NID_sect409k1, /* sect409k1 (11) */ | 216 | NID_sect409k1, /* sect409k1 (11) */ |
213 | NID_sect409r1, /* sect409r1 (12) */ | 217 | NID_sect409r1, /* sect409r1 (12) */ |
218 | NID_brainpoolP384r1, /* brainpoolP384r1 (27) */ | ||
214 | NID_secp384r1, /* secp384r1 (24) */ | 219 | NID_secp384r1, /* secp384r1 (24) */ |
215 | NID_sect283k1, /* sect283k1 (9) */ | 220 | NID_sect283k1, /* sect283k1 (9) */ |
216 | NID_sect283r1, /* sect283r1 (10) */ | 221 | NID_sect283r1, /* sect283r1 (10) */ |
222 | NID_brainpoolP256r1, /* brainpoolP256r1 (26) */ | ||
217 | NID_secp256k1, /* secp256k1 (22) */ | 223 | NID_secp256k1, /* secp256k1 (22) */ |
218 | NID_X9_62_prime256v1, /* secp256r1 (23) */ | 224 | NID_X9_62_prime256v1, /* secp256r1 (23) */ |
219 | NID_sect239k1, /* sect239k1 (8) */ | 225 | NID_sect239k1, /* sect239k1 (8) */ |
@@ -298,6 +304,12 @@ tls1_ec_nid2curve_id(int nid) | |||
298 | return 24; | 304 | return 24; |
299 | case NID_secp521r1: /* secp521r1 (25) */ | 305 | case NID_secp521r1: /* secp521r1 (25) */ |
300 | return 25; | 306 | return 25; |
307 | case NID_brainpoolP256r1: /* brainpoolP256r1 (26) */ | ||
308 | return 26; | ||
309 | case NID_brainpoolP384r1: /* brainpoolP384r1 (27) */ | ||
310 | return 27; | ||
311 | case NID_brainpoolP512r1: /* brainpoolP512r1 (28) */ | ||
312 | return 28; | ||
301 | default: | 313 | default: |
302 | return 0; | 314 | return 0; |
303 | } | 315 | } |
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index e01b7bdb10..63537888ae 100644 --- a/src/lib/libssl/t1_lib.c +++ b/src/lib/libssl/t1_lib.c | |||
@@ -202,18 +202,24 @@ static int nid_list[] = { | |||
202 | NID_secp256k1, /* secp256k1 (22) */ | 202 | NID_secp256k1, /* secp256k1 (22) */ |
203 | NID_X9_62_prime256v1, /* secp256r1 (23) */ | 203 | NID_X9_62_prime256v1, /* secp256r1 (23) */ |
204 | NID_secp384r1, /* secp384r1 (24) */ | 204 | NID_secp384r1, /* secp384r1 (24) */ |
205 | NID_secp521r1 /* secp521r1 (25) */ | 205 | NID_secp521r1, /* secp521r1 (25) */ |
206 | NID_brainpoolP256r1, /* brainpoolP256r1 (26) */ | ||
207 | NID_brainpoolP384r1, /* brainpoolP384r1 (27) */ | ||
208 | NID_brainpoolP512r1 /* brainpoolP512r1 (28) */ | ||
206 | }; | 209 | }; |
207 | 210 | ||
208 | static int pref_list[] = { | 211 | static int pref_list[] = { |
209 | NID_sect571r1, /* sect571r1 (14) */ | 212 | NID_sect571r1, /* sect571r1 (14) */ |
210 | NID_sect571k1, /* sect571k1 (13) */ | 213 | NID_sect571k1, /* sect571k1 (13) */ |
211 | NID_secp521r1, /* secp521r1 (25) */ | 214 | NID_secp521r1, /* secp521r1 (25) */ |
215 | NID_brainpoolP512r1, /* brainpoolP512r1 (28) */ | ||
212 | NID_sect409k1, /* sect409k1 (11) */ | 216 | NID_sect409k1, /* sect409k1 (11) */ |
213 | NID_sect409r1, /* sect409r1 (12) */ | 217 | NID_sect409r1, /* sect409r1 (12) */ |
218 | NID_brainpoolP384r1, /* brainpoolP384r1 (27) */ | ||
214 | NID_secp384r1, /* secp384r1 (24) */ | 219 | NID_secp384r1, /* secp384r1 (24) */ |
215 | NID_sect283k1, /* sect283k1 (9) */ | 220 | NID_sect283k1, /* sect283k1 (9) */ |
216 | NID_sect283r1, /* sect283r1 (10) */ | 221 | NID_sect283r1, /* sect283r1 (10) */ |
222 | NID_brainpoolP256r1, /* brainpoolP256r1 (26) */ | ||
217 | NID_secp256k1, /* secp256k1 (22) */ | 223 | NID_secp256k1, /* secp256k1 (22) */ |
218 | NID_X9_62_prime256v1, /* secp256r1 (23) */ | 224 | NID_X9_62_prime256v1, /* secp256r1 (23) */ |
219 | NID_sect239k1, /* sect239k1 (8) */ | 225 | NID_sect239k1, /* sect239k1 (8) */ |
@@ -298,6 +304,12 @@ tls1_ec_nid2curve_id(int nid) | |||
298 | return 24; | 304 | return 24; |
299 | case NID_secp521r1: /* secp521r1 (25) */ | 305 | case NID_secp521r1: /* secp521r1 (25) */ |
300 | return 25; | 306 | return 25; |
307 | case NID_brainpoolP256r1: /* brainpoolP256r1 (26) */ | ||
308 | return 26; | ||
309 | case NID_brainpoolP384r1: /* brainpoolP384r1 (27) */ | ||
310 | return 27; | ||
311 | case NID_brainpoolP512r1: /* brainpoolP512r1 (28) */ | ||
312 | return 28; | ||
301 | default: | 313 | default: |
302 | return 0; | 314 | return 0; |
303 | } | 315 | } |