summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_sigalgs.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libssl/ssl_sigalgs.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/lib/libssl/ssl_sigalgs.c b/src/lib/libssl/ssl_sigalgs.c
index 3f82117dcf..5259ea676a 100644
--- a/src/lib/libssl/ssl_sigalgs.c
+++ b/src/lib/libssl/ssl_sigalgs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_sigalgs.c,v 1.3 2018/11/09 05:43:39 beck Exp $ */ 1/* $OpenBSD: ssl_sigalgs.c,v 1.4 2018/11/10 01:19:09 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2018, Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2018, Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -143,7 +143,7 @@ const struct ssl_sigalg sigalgs[] = {
143 .value = SIGALG_RSA_PKCS1_SHA1, 143 .value = SIGALG_RSA_PKCS1_SHA1,
144 .key_type = EVP_PKEY_RSA, 144 .key_type = EVP_PKEY_RSA,
145 .pkey_idx = SSL_PKEY_RSA_SIGN, 145 .pkey_idx = SSL_PKEY_RSA_SIGN,
146 .md = EVP_sha1, 146 .md = EVP_md5_sha1,
147 }, 147 },
148 { 148 {
149 .value = SIGALG_ECDSA_SHA1, 149 .value = SIGALG_ECDSA_SHA1,
@@ -187,8 +187,8 @@ ssl_sigalg_lookup(uint16_t sigalg)
187 return NULL; 187 return NULL;
188} 188}
189 189
190const EVP_MD * 190const struct ssl_sigalg *
191ssl_sigalg_md(uint16_t sigalg, uint16_t *values, size_t len) 191ssl_sigalg(uint16_t sigalg, uint16_t *values, size_t len)
192{ 192{
193 const struct ssl_sigalg *sap; 193 const struct ssl_sigalg *sap;
194 int i; 194 int i;
@@ -199,23 +199,12 @@ ssl_sigalg_md(uint16_t sigalg, uint16_t *values, size_t len)
199 } 199 }
200 if (values[i] == sigalg) { 200 if (values[i] == sigalg) {
201 if ((sap = ssl_sigalg_lookup(sigalg)) != NULL) 201 if ((sap = ssl_sigalg_lookup(sigalg)) != NULL)
202 return sap->md(); 202 return sap;
203 } 203 }
204 204
205 return NULL; 205 return NULL;
206} 206}
207 207
208int
209ssl_sigalg_pkey_check(uint16_t sigalg, EVP_PKEY *pk)
210{
211 const struct ssl_sigalg *sap;
212
213 if ((sap = ssl_sigalg_lookup(sigalg)) != NULL)
214 return sap->key_type == pk->type;
215
216 return 0;
217}
218
219uint16_t 208uint16_t
220ssl_sigalg_value(const EVP_PKEY *pk, const EVP_MD *md) 209ssl_sigalg_value(const EVP_PKEY *pk, const EVP_MD *md)
221{ 210{