summaryrefslogtreecommitdiff
path: root/kexecdh.c
diff options
context:
space:
mode:
Diffstat (limited to 'kexecdh.c')
-rw-r--r--kexecdh.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/kexecdh.c b/kexecdh.c
index bd5718136..f59d7b903 100644
--- a/kexecdh.c
+++ b/kexecdh.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: kexecdh.c,v 1.1 2010/08/31 11:54:45 djm Exp $ */ 1/* $OpenBSD: kexecdh.c,v 1.2 2010/09/09 10:45:45 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2001 Markus Friedl. All rights reserved. 3 * Copyright (c) 2001 Markus Friedl. All rights reserved.
4 * Copyright (c) 2010 Damien Miller. All rights reserved. 4 * Copyright (c) 2010 Damien Miller. All rights reserved.
@@ -48,15 +48,23 @@ kex_ecdh_name_to_nid(const char *kexname)
48{ 48{
49 int ret; 49 int ret;
50 50
51 if (strlen(kexname) < sizeof(KEX_ECDH_SHA256) - 1) 51 if (strlen(kexname) < sizeof(KEX_ECDH_SHA2_STEM) - 1)
52 fatal("%s: kexname too short \"%s\"", __func__, kexname); 52 fatal("%s: kexname too short \"%s\"", __func__, kexname);
53 ret = key_curve_name_to_nid(kexname + sizeof(KEX_ECDH_SHA256) - 1); 53 ret = key_curve_name_to_nid(kexname + sizeof(KEX_ECDH_SHA2_STEM) - 1);
54 if (ret == -1) 54 if (ret == -1)
55 fatal("%s: unsupported curve negotiated \"%s\"", __func__, 55 fatal("%s: unsupported curve negotiated \"%s\"", __func__,
56 kexname); 56 kexname);
57 return ret; 57 return ret;
58} 58}
59 59
60const EVP_MD *
61kex_ecdh_name_to_evpmd(const char *kexname)
62{
63 int nid = kex_ecdh_name_to_nid(kexname);
64
65 return key_ec_nid_to_evpmd(nid);
66}
67
60void 68void
61kex_ecdh_hash( 69kex_ecdh_hash(
62 const EVP_MD *evp_md, 70 const EVP_MD *evp_md,