diff options
| author | jsing <> | 2018-08-19 15:38:03 +0000 |
|---|---|---|
| committer | jsing <> | 2018-08-19 15:38:03 +0000 |
| commit | e081c84895470c8464a8df8c8263cc07071bc844 (patch) | |
| tree | 51b241a94a4954d6e015ae2a61f04f2bc963f114 /src/lib/libssl/t1_lib.c | |
| parent | 9d1923bca80e91560a5f939cbcdd04c1d25383c2 (diff) | |
| download | openbsd-e081c84895470c8464a8df8c8263cc07071bc844.tar.gz openbsd-e081c84895470c8464a8df8c8263cc07071bc844.tar.bz2 openbsd-e081c84895470c8464a8df8c8263cc07071bc844.zip | |
Rename and collapse tls12_get_sigandhash_cbb().
Now that all callers of tls12_get_sigandhash() have been converted to CBB,
collapse tls12_get_sigandhash() and tls12_get_sigandhash_cbb() into a
single function. Rename it to tls12_gethashandsig() to be representative
of the actual order of the sigalgs parameters, and perform some other
clean up.
ok inoguchi@ tb@
Diffstat (limited to 'src/lib/libssl/t1_lib.c')
| -rw-r--r-- | src/lib/libssl/t1_lib.c | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index 7f166942f7..1b2e0844fb 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.142 2018/08/16 17:49:48 jsing Exp $ */ | 1 | /* $OpenBSD: t1_lib.c,v 1.143 2018/08/19 15:38:03 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,51 +1116,43 @@ 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) | 1119 | tls12_get_hashid(const EVP_MD *md) |
| 1120 | { | 1120 | { |
| 1121 | unsigned char p[2]; | 1121 | if (md == NULL) |
| 1122 | return -1; | ||
| 1122 | 1123 | ||
| 1123 | if (!tls12_get_sigandhash(p, pk, md)) | 1124 | return tls12_find_id(EVP_MD_type(md), tls12_md, |
| 1124 | return 0; | 1125 | sizeof(tls12_md) / sizeof(tls12_lookup)); |
| 1126 | } | ||
| 1125 | 1127 | ||
| 1126 | if (!CBB_add_u8(cbb, p[0])) | 1128 | int |
| 1127 | return 0; | 1129 | tls12_get_sigid(const EVP_PKEY *pk) |
| 1128 | if (!CBB_add_u8(cbb, p[1])) | 1130 | { |
| 1129 | return 0; | 1131 | if (pk == NULL) |
| 1132 | return -1; | ||
| 1130 | 1133 | ||
| 1131 | return 1; | 1134 | return tls12_find_id(pk->type, tls12_sig, |
| 1135 | sizeof(tls12_sig) / sizeof(tls12_lookup)); | ||
| 1132 | } | 1136 | } |
| 1133 | 1137 | ||
| 1134 | int | 1138 | int |
| 1135 | tls12_get_sigandhash(unsigned char *p, const EVP_PKEY *pk, const EVP_MD *md) | 1139 | tls12_get_hashandsig(CBB *cbb, const EVP_PKEY *pk, const EVP_MD *md) |
| 1136 | { | 1140 | { |
| 1137 | int sig_id, md_id; | 1141 | int hash_id, sig_id; |
| 1138 | 1142 | ||
| 1139 | if (md == NULL) | 1143 | if ((hash_id = tls12_get_hashid(md)) == -1) |
| 1140 | return 0; | 1144 | return 0; |
| 1141 | 1145 | if ((sig_id = tls12_get_sigid(pk)) == -1) | |
| 1142 | md_id = tls12_find_id(EVP_MD_type(md), tls12_md, | ||
| 1143 | sizeof(tls12_md) / sizeof(tls12_lookup)); | ||
| 1144 | if (md_id == -1) | ||
| 1145 | return 0; | 1146 | return 0; |
| 1146 | 1147 | ||
| 1147 | sig_id = tls12_get_sigid(pk); | 1148 | if (!CBB_add_u8(cbb, hash_id)) |
| 1148 | if (sig_id == -1) | 1149 | return 0; |
| 1150 | if (!CBB_add_u8(cbb, sig_id)) | ||
| 1149 | return 0; | 1151 | return 0; |
| 1150 | |||
| 1151 | p[0] = (unsigned char)md_id; | ||
| 1152 | p[1] = (unsigned char)sig_id; | ||
| 1153 | 1152 | ||
| 1154 | return 1; | 1153 | return 1; |
| 1155 | } | 1154 | } |
| 1156 | 1155 | ||
| 1157 | int | ||
| 1158 | tls12_get_sigid(const EVP_PKEY *pk) | ||
| 1159 | { | ||
| 1160 | return tls12_find_id(pk->type, tls12_sig, | ||
| 1161 | sizeof(tls12_sig) / sizeof(tls12_lookup)); | ||
| 1162 | } | ||
| 1163 | |||
| 1164 | const EVP_MD * | 1156 | const EVP_MD * |
| 1165 | tls12_get_hash(unsigned char hash_alg) | 1157 | tls12_get_hash(unsigned char hash_alg) |
| 1166 | { | 1158 | { |
