diff options
author | jsing <> | 2022-02-01 17:13:52 +0000 |
---|---|---|
committer | jsing <> | 2022-02-01 17:13:52 +0000 |
commit | 1929a825a07468e5453b528de05c88e8e277c9fa (patch) | |
tree | c678be4d05c73b478480ede349979f5cf8eebcf5 | |
parent | 494d008fc41fd07dcc927e26c8c23d91c2f1564d (diff) | |
download | openbsd-1929a825a07468e5453b528de05c88e8e277c9fa.tar.gz openbsd-1929a825a07468e5453b528de05c88e8e277c9fa.tar.bz2 openbsd-1929a825a07468e5453b528de05c88e8e277c9fa.zip |
Revise/simplify for signer interface change.
-rw-r--r-- | src/regress/lib/libtls/signer/signertest.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/regress/lib/libtls/signer/signertest.c b/src/regress/lib/libtls/signer/signertest.c index 34290a12d6..2614c659e1 100644 --- a/src/regress/lib/libtls/signer/signertest.c +++ b/src/regress/lib/libtls/signer/signertest.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: signertest.c,v 1.2 2022/01/30 18:44:45 jsing Exp $ */ | 1 | /* $OpenBSD: signertest.c,v 1.3 2022/02/01 17:13:52 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2017, 2018, 2022 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2017, 2018, 2022 Joel Sing <jsing@openbsd.org> |
4 | * | 4 | * |
@@ -212,8 +212,8 @@ do_signer_tests(void) | |||
212 | 212 | ||
213 | /* Sign with RSA. */ | 213 | /* Sign with RSA. */ |
214 | if (tls_signer_sign(signer, server_rsa_pubkey_hash, test_digest, | 214 | if (tls_signer_sign(signer, server_rsa_pubkey_hash, test_digest, |
215 | sizeof(test_digest), &signature, &signature_len, | 215 | sizeof(test_digest), RSA_PKCS1_PADDING, &signature, |
216 | RSA_PKCS1_PADDING) == -1) { | 216 | &signature_len) == -1) { |
217 | fprintf(stderr, "FAIL: failed to sign with RSA key: %s\n", | 217 | fprintf(stderr, "FAIL: failed to sign with RSA key: %s\n", |
218 | tls_signer_error(signer)); | 218 | tls_signer_error(signer)); |
219 | goto failure; | 219 | goto failure; |
@@ -230,7 +230,7 @@ do_signer_tests(void) | |||
230 | * check against a known value, rather we can only verify the signature. | 230 | * check against a known value, rather we can only verify the signature. |
231 | */ | 231 | */ |
232 | if (tls_signer_sign(signer, server_ecdsa_pubkey_hash, test_digest, | 232 | if (tls_signer_sign(signer, server_ecdsa_pubkey_hash, test_digest, |
233 | sizeof(test_digest), &signature, &signature_len, 0) == -1) { | 233 | sizeof(test_digest), 0, &signature, &signature_len) == -1) { |
234 | fprintf(stderr, "FAIL: failed to sign with ECDSA key: %s\n", | 234 | fprintf(stderr, "FAIL: failed to sign with ECDSA key: %s\n", |
235 | tls_signer_error(signer)); | 235 | tls_signer_error(signer)); |
236 | goto failure; | 236 | goto failure; |
@@ -246,7 +246,7 @@ do_signer_tests(void) | |||
246 | 246 | ||
247 | /* Attempt to sign with an unknown cert pubkey hash. */ | 247 | /* Attempt to sign with an unknown cert pubkey hash. */ |
248 | if (tls_signer_sign(signer, server_unknown_pubkey_hash, test_digest, | 248 | if (tls_signer_sign(signer, server_unknown_pubkey_hash, test_digest, |
249 | sizeof(test_digest), &signature, &signature_len, 0) != -1) { | 249 | sizeof(test_digest), 0, &signature, &signature_len) != -1) { |
250 | fprintf(stderr, "FAIL: signing succeeded with unknown key\n"); | 250 | fprintf(stderr, "FAIL: signing succeeded with unknown key\n"); |
251 | goto failure; | 251 | goto failure; |
252 | } | 252 | } |
@@ -334,26 +334,16 @@ test_tls_handshake_socket(struct tls *client, struct tls *server) | |||
334 | } | 334 | } |
335 | 335 | ||
336 | static int | 336 | static int |
337 | test_signer_tls_sign(void *cb_arg, const char *hash, const uint8_t *digest, | 337 | test_signer_tls_sign(void *cb_arg, const char *pubkey_hash, |
338 | size_t digest_len, uint8_t *out_signature, size_t *out_signature_len, | 338 | const uint8_t *input, size_t input_len, int padding_type, |
339 | int padding) | 339 | uint8_t **out_signature, size_t *out_signature_len) |
340 | { | 340 | { |
341 | struct tls_signer *signer = cb_arg; | 341 | struct tls_signer *signer = cb_arg; |
342 | uint8_t *signature = NULL; | ||
343 | size_t signature_len = 0; | ||
344 | 342 | ||
345 | sign_cb_count++; | 343 | sign_cb_count++; |
346 | 344 | ||
347 | if (tls_signer_sign(signer, hash, digest, digest_len, &signature, | 345 | return tls_signer_sign(signer, pubkey_hash, input, input_len, |
348 | &signature_len, padding) == -1) | 346 | padding_type, out_signature, out_signature_len); |
349 | return -1; | ||
350 | |||
351 | memcpy(out_signature, signature, signature_len); | ||
352 | *out_signature_len = signature_len; | ||
353 | |||
354 | free(signature); | ||
355 | |||
356 | return 0; | ||
357 | } | 347 | } |
358 | 348 | ||
359 | static int | 349 | static int |