summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormiod <>2014-05-24 15:21:40 +0000
committermiod <>2014-05-24 15:21:40 +0000
commit694736847951a5eb292719b02fe4b0db4d09766f (patch)
treed0ab605540de4c2b23dc328328984f29ce58816e /src
parenta5d2477869eef9687a4a5e983f5595651084c7d0 (diff)
downloadopenbsd-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.c14
-rw-r--r--src/lib/libssl/t1_lib.c14
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
208static int pref_list[] = { 211static 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
208static int pref_list[] = { 211static 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 }