summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_lib.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libssl/t1_lib.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c
index d92fd70f5b..7f166942f7 100644
--- a/src/lib/libssl/t1_lib.c
+++ b/src/lib/libssl/t1_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t1_lib.c,v 1.141 2018/02/08 11:30:30 jsing Exp $ */ 1/* $OpenBSD: t1_lib.c,v 1.142 2018/08/16 17:49:48 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1116,20 +1116,41 @@ tls12_find_id(int nid, tls12_lookup *table, size_t tlen)
1116} 1116}
1117 1117
1118int 1118int
1119tls12_get_sigandhash_cbb(CBB *cbb, const EVP_PKEY *pk, const EVP_MD *md)
1120{
1121 unsigned char p[2];
1122
1123 if (!tls12_get_sigandhash(p, pk, md))
1124 return 0;
1125
1126 if (!CBB_add_u8(cbb, p[0]))
1127 return 0;
1128 if (!CBB_add_u8(cbb, p[1]))
1129 return 0;
1130
1131 return 1;
1132}
1133
1134int
1119tls12_get_sigandhash(unsigned char *p, const EVP_PKEY *pk, const EVP_MD *md) 1135tls12_get_sigandhash(unsigned char *p, const EVP_PKEY *pk, const EVP_MD *md)
1120{ 1136{
1121 int sig_id, md_id; 1137 int sig_id, md_id;
1122 if (!md) 1138
1139 if (md == NULL)
1123 return 0; 1140 return 0;
1141
1124 md_id = tls12_find_id(EVP_MD_type(md), tls12_md, 1142 md_id = tls12_find_id(EVP_MD_type(md), tls12_md,
1125 sizeof(tls12_md) / sizeof(tls12_lookup)); 1143 sizeof(tls12_md) / sizeof(tls12_lookup));
1126 if (md_id == -1) 1144 if (md_id == -1)
1127 return 0; 1145 return 0;
1146
1128 sig_id = tls12_get_sigid(pk); 1147 sig_id = tls12_get_sigid(pk);
1129 if (sig_id == -1) 1148 if (sig_id == -1)
1130 return 0; 1149 return 0;
1150
1131 p[0] = (unsigned char)md_id; 1151 p[0] = (unsigned char)md_id;
1132 p[1] = (unsigned char)sig_id; 1152 p[1] = (unsigned char)sig_id;
1153
1133 return 1; 1154 return 1;
1134} 1155}
1135 1156