Commit Graph

22 Commits

Author SHA1 Message Date
dc5b0fb0d3
Fix age mask parsing from config
- initialize age mask to zero
- drop default bitstring for age mask, use string instead

-remove default age mask bits, use string instead

-strdup
2023-05-09 21:45:59 +02:00
187ae6f8a2
WIP: age-withdraw, continue verify_commitment_and_max_age, 7/n
- coin, blinding, nonce and age restriction now derived from
  TALER_PlanchetMasterSecretP
- use max_age instead than max_age_group as argument
- Also, docs updated in other repo.
2023-03-13 00:31:49 +01:00
9c66f27034
WiP: age-withdraw, added TALER_age_restriction_commit_from_base, 6/n
Added TALER_age_restriction_commit_from_base in util/age_restriction.c,
to create a age commitment and proof from a coin's private key as
defined in
https://docs.taler.net/core/api-exchange.html#withdraw-with-age-restriction
2023-03-12 17:21:33 +01:00
752f102738
policy extensions and age restriction refactoring
- refactoring of extension-plugin-mechanism
- refactoring of age restriction extension
- added policy extensions plugin plumbing
- added DB schema and api
  - policy_details
  - policy_fulfillments
2022-11-04 12:18:16 +01:00
Christian Grothoff
9ed99558e2
-fix clang compiler warnings 2022-08-22 22:45:41 +02:00
a55fc45126
-fix valgrind complaints 2022-06-26 17:40:10 +02:00
9a05781ab3
-fix derivation, logging 2022-04-27 00:00:15 +02:00
17a00ef22d
age restriction: make seed a HashCode due to endianess and security level concerns 2022-04-26 23:34:14 +02:00
47e276e11a
-remove debug logging 2022-04-26 23:10:50 +02:00
be536de23c
various age restriction fixes, some of them half-baked 2022-04-26 23:10:12 +02:00
a92d3aae7b
-use uint32_t instead of uint8_t + padding for the age 2022-04-26 11:23:27 +02:00
f24fc18564
use htonl, not GNUNET_htonll 2022-04-26 01:50:31 +02:00
38fcca16c8
fix age attestation signature padding and endianess 2022-04-26 01:28:36 +02:00
31c545b9e8
-fixed tests for age restriction, now using correct seed 2022-04-22 15:15:57 +02:00
b84c88fc04
Fixed seed size for TALER_age_restriction_commit
Also, added src/util/tv_age_restriction.{c,json} for/as test vectors for
age restriction.
2022-04-21 14:27:29 +02:00
30985c0975
-rename variable 2022-03-28 12:34:14 +02:00
a2386abadb
[age restriction] progress 19/19 (final) - Use Edx25519 for crypto
We switch from EcDSA to Edx25519 for the underlying signature scheme.

Edx25519 is implemented in gnunet, starting with (gnunet-)commit
ce38d1f6c9bd7857a1c3bc2094a0ee9752b86c32.
2022-03-28 11:04:00 +02:00
Christian Grothoff
e200e86032
implement helper functions for p2p signatures, clean up existing signature logic 2022-03-22 02:33:51 +01:00
cd5ee2338c
-ensure label has no zero bytes 2022-03-08 11:47:51 +01:00
4c53d42e44
[age restriction] progress 18/n - attestation tested
- Unit-tests for commit, derive, attest and verify added, with multiple
  combinations of minimum age and commited age.
- Fixed crypto implementation (eddsa -> ecdsa)
- Using now standard functionality from GNUNET:
  GNUNET_CRYPTO_ecdsa_{private,public}_key_derive

All tests pass (unit tests in util/ and 'make check' in testing).
2022-03-03 19:35:24 +01:00
7624db4efd
-refactor TALER_AgeMask.mask -> TALER_AgeMask.bits
also: fix off-by-one in TALER_age_restriction_commit
2022-03-02 10:59:42 +01:00
b20ddf0c8a
[age restriction] progress 17/n - attestation implemented
- functions TALER_age_commitment_attest and TALER_age_commitment_verify
  implemented.
- age restriction implementation moved into util/age_restriction.c
2022-03-01 19:30:57 +01:00