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>
* 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-sign.c (dsa_sign): Use struct dsa_params, with key as a
......
......@@ -244,8 +244,9 @@ struct nettle_buffer;
int
dsa_keypair_to_sexp(struct nettle_buffer *buffer,
const char *algorithm_name, /* NULL means "dsa" */
const struct dsa_public_key *pub,
const struct dsa_private_key *priv);
const struct dsa_params *params,
const mpz_t pub,
const mpz_t priv);
struct sexp_iterator;
......
......@@ -4,7 +4,7 @@
/* 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
* it under the terms of the GNU Lesser General Public License as published by
......@@ -33,22 +33,24 @@
int
dsa_keypair_to_sexp(struct nettle_buffer *buffer,
const char *algorithm_name,
const struct dsa_public_key *pub,
const struct dsa_private_key *priv)
const struct dsa_params *params,
const mpz_t pub,
const mpz_t priv)
{
if (!algorithm_name)
algorithm_name = "dsa";
if (priv)
return sexp_format(buffer,
"(private-key(%0s(p%b)(q%b)"
"(g%b)(y%b)(x%b)))",
algorithm_name, pub->p, pub->q,
pub->g, pub->y, priv->x);
algorithm_name, params->p, params->q,
params->g, pub, priv);
else
return sexp_format(buffer,
"(public-key(%0s(p%b)(q%b)"
"(g%b)(y%b)))",
algorithm_name, pub->p, pub->q,
pub->g, pub->y);
algorithm_name, params->p, params->q,
params->g, pub);
}
......@@ -323,7 +323,9 @@ convert_dsa_private_key(struct nettle_buffer *buffer, size_t length, const uint8
{
/* Reuses the 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
{
......@@ -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))
{
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);
}
......
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