]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(dsa_signature_from_sexp): New function.
authorNiels Möller <nisse@lysator.liu.se>
Mon, 27 Jan 2003 22:14:59 +0000 (23:14 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Mon, 27 Jan 2003 22:14:59 +0000 (23:14 +0100)
Rev: src/nettle/dsa.h:1.6
Rev: src/nettle/sexp2dsa.c:1.3

dsa.h
sexp2dsa.c

diff --git a/dsa.h b/dsa.h
index beb15ddab25e90a29d42200aa86ee926c4926755..5214c36a67e44b1ed61be55debaee2fee3a9ee6e 100644 (file)
--- a/dsa.h
+++ b/dsa.h
@@ -153,6 +153,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,
index 357b3cf85401d05560c7ba0dceb1c3013f559df6..4d99cf4a7d0cf9cbef434399ab293732570ab4ea 100644 (file)
@@ -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 */