Commit fb4e324a authored by Niels Möller's avatar Niels Möller

Convert dsa_keypair_to_sexp to use struct dsa_params.

parent 39ea0d27
2014-03-26 Niels Möller <nisse@lysator.liu.se> 2014-03-26 Niels Möller <nisse@lysator.liu.se>
* dsa2sexp.c (dsa_keypair_to_sexp): Converted to new DSA
interface.
* tools/pkcs1-conv.c: Updated uses of dsa_keypair_to_sexp.
* dsa.h (struct dsa_params): New struct. * dsa.h (struct dsa_params): New struct.
* dsa-sign.c (dsa_sign): Use struct dsa_params, with key as a * dsa-sign.c (dsa_sign): Use struct dsa_params, with key as a
......
...@@ -244,8 +244,9 @@ struct nettle_buffer; ...@@ -244,8 +244,9 @@ struct nettle_buffer;
int int
dsa_keypair_to_sexp(struct nettle_buffer *buffer, dsa_keypair_to_sexp(struct nettle_buffer *buffer,
const char *algorithm_name, /* NULL means "dsa" */ const char *algorithm_name, /* NULL means "dsa" */
const struct dsa_public_key *pub, const struct dsa_params *params,
const struct dsa_private_key *priv); const mpz_t pub,
const mpz_t priv);
struct sexp_iterator; struct sexp_iterator;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
/* nettle, low-level cryptographics library /* nettle, low-level cryptographics library
* *
* Copyright (C) 2002, 2009 Niels Möller, Magnus Holmgren * Copyright (C) 2002, 2009, 2014 Niels Möller, Magnus Holmgren
* *
* The nettle library is free software; you can redistribute it and/or modify * The nettle library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by * it under the terms of the GNU Lesser General Public License as published by
...@@ -33,22 +33,24 @@ ...@@ -33,22 +33,24 @@
int int
dsa_keypair_to_sexp(struct nettle_buffer *buffer, dsa_keypair_to_sexp(struct nettle_buffer *buffer,
const char *algorithm_name, const char *algorithm_name,
const struct dsa_public_key *pub, const struct dsa_params *params,
const struct dsa_private_key *priv) const mpz_t pub,
const mpz_t priv)
{ {
if (!algorithm_name) if (!algorithm_name)
algorithm_name = "dsa"; algorithm_name = "dsa";
if (priv) if (priv)
return sexp_format(buffer, return sexp_format(buffer,
"(private-key(%0s(p%b)(q%b)" "(private-key(%0s(p%b)(q%b)"
"(g%b)(y%b)(x%b)))", "(g%b)(y%b)(x%b)))",
algorithm_name, pub->p, pub->q, algorithm_name, params->p, params->q,
pub->g, pub->y, priv->x); params->g, pub, priv);
else else
return sexp_format(buffer, return sexp_format(buffer,
"(public-key(%0s(p%b)(q%b)" "(public-key(%0s(p%b)(q%b)"
"(g%b)(y%b)))", "(g%b)(y%b)))",
algorithm_name, pub->p, pub->q, algorithm_name, params->p, params->q,
pub->g, pub->y); params->g, pub);
} }
...@@ -323,7 +323,9 @@ convert_dsa_private_key(struct nettle_buffer *buffer, size_t length, const uint8 ...@@ -323,7 +323,9 @@ convert_dsa_private_key(struct nettle_buffer *buffer, size_t length, const uint8
{ {
/* Reuses the buffer */ /* Reuses the buffer */
nettle_buffer_reset(buffer); nettle_buffer_reset(buffer);
res = dsa_keypair_to_sexp(buffer, NULL, &pub, &priv); res = dsa_keypair_to_sexp(buffer, NULL,
(const struct dsa_params *) &pub,
pub.y, priv.x);
} }
else else
{ {
...@@ -413,7 +415,9 @@ convert_public_key(struct nettle_buffer *buffer, size_t length, const uint8_t *d ...@@ -413,7 +415,9 @@ convert_public_key(struct nettle_buffer *buffer, size_t length, const uint8_t *d
&& dsa_public_key_from_der_iterator(&pub, 0, &j)) && dsa_public_key_from_der_iterator(&pub, 0, &j))
{ {
nettle_buffer_reset(buffer); nettle_buffer_reset(buffer);
res = dsa_keypair_to_sexp(buffer, NULL, &pub, NULL) > 0; res = dsa_keypair_to_sexp(buffer, NULL,
(const struct dsa_params *) &pub,
pub.y, NULL) > 0;
} }
dsa_public_key_clear(&pub); dsa_public_key_clear(&pub);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment