diff options
author | Niels Möller <nisse@lysator.liu.se> | 2003-01-27 23:14:59 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2003-01-27 23:14:59 +0100 |
commit | 42721f776e9b6a62ace78a424aea8d01e0643598 (patch) | |
tree | fab6049eb409d83b09ba5275f5066e9110e51359 | |
parent | d41a05cbdf72061237d132fa2cc7fad5b0417ee8 (diff) | |
download | nettle-42721f776e9b6a62ace78a424aea8d01e0643598.tar.gz |
(dsa_signature_from_sexp): New function.
Rev: src/nettle/dsa.h:1.6
Rev: src/nettle/sexp2dsa.c:1.3
-rw-r--r-- | dsa.h | 4 | ||||
-rw-r--r-- | sexp2dsa.c | 16 |
2 files changed, 20 insertions, 0 deletions
@@ -154,6 +154,10 @@ dsa_generate_keypair(struct dsa_public_key *pub, struct sexp_iterator; int +dsa_signature_from_sexp(struct dsa_signature *rs, + struct sexp_iterator *i); + +int dsa_keypair_from_sexp_alist(struct dsa_public_key *pub, struct dsa_private_key *priv, unsigned limit, @@ -87,4 +87,20 @@ dsa_keypair_from_sexp(struct dsa_public_key *pub, && dsa_keypair_from_sexp_alist(pub, priv, limit, &i); } +int +dsa_signature_from_sexp(struct dsa_signature *rs, + struct sexp_iterator *i) +{ + static const uint8_t *names[2] = { "r", "s" }; + struct sexp_iterator values[2]; + + if (!sexp_iterator_assoc(i, 2, names, values)) + return 0; + + GET(rs->r, 160, &values[0]); + GET(rs->s, 160, &values[1]); + + return 1; +} + #endif /* WITH_PUBLIC_KEY */ |