diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libssl/t1_lib.c | 25 |
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 | ||
1118 | int | 1118 | int |
1119 | tls12_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 | |||
1134 | int | ||
1119 | tls12_get_sigandhash(unsigned char *p, const EVP_PKEY *pk, const EVP_MD *md) | 1135 | tls12_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 | ||