diff options
| author | jsing <> | 2022-02-01 17:13:52 +0000 |
|---|---|---|
| committer | jsing <> | 2022-02-01 17:13:52 +0000 |
| commit | c9caa88a2d774bdbc6a16ae3c42fb55a3dd3a7ed (patch) | |
| tree | c678be4d05c73b478480ede349979f5cf8eebcf5 /src/regress/lib | |
| parent | f88d8440214889b6d855585bedc525a8ce92fc26 (diff) | |
| download | openbsd-c9caa88a2d774bdbc6a16ae3c42fb55a3dd3a7ed.tar.gz openbsd-c9caa88a2d774bdbc6a16ae3c42fb55a3dd3a7ed.tar.bz2 openbsd-c9caa88a2d774bdbc6a16ae3c42fb55a3dd3a7ed.zip | |
Revise/simplify for signer interface change.
Diffstat (limited to 'src/regress/lib')
| -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 |
