Miniupnpd: update to 2.0
[tomato.git] / release / src / router / nettle / dsa-sha256-sign.c
blob577450675748f856276c48b159e14eb93e7c355d
1 /* dsa-sha256-sign.c
3 * The DSA publickey algorithm, using SHA-256 (FIPS186-3).
4 */
6 /* nettle, low-level cryptographics library
8 * Copyright (C) 2010 Niels Möller
9 *
10 * The nettle library is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU Lesser General Public License as published by
12 * the Free Software Foundation; either version 2.1 of the License, or (at your
13 * option) any later version.
15 * The nettle library is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18 * License for more details.
20 * You should have received a copy of the GNU Lesser General Public License
21 * along with the nettle library; see the file COPYING.LIB. If not, write to
22 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
23 * MA 02111-1301, USA.
26 #if HAVE_CONFIG_H
27 # include "config.h"
28 #endif
30 #include "dsa.h"
32 int
33 dsa_sha256_sign_digest(const struct dsa_public_key *pub,
34 const struct dsa_private_key *key,
35 void *random_ctx, nettle_random_func *random,
36 const uint8_t *digest,
37 struct dsa_signature *signature)
39 return _dsa_sign(pub, key, random_ctx, random,
40 SHA256_DIGEST_SIZE, digest, signature);
43 int
44 dsa_sha256_sign(const struct dsa_public_key *pub,
45 const struct dsa_private_key *key,
46 void *random_ctx, nettle_random_func *random,
47 struct sha256_ctx *hash,
48 struct dsa_signature *signature)
50 uint8_t digest[SHA256_DIGEST_SIZE];
51 sha256_digest(hash, sizeof(digest), digest);
53 return _dsa_sign(pub, key, random_ctx, random,
54 sizeof(digest), digest, signature);