Commit 5a3de636 authored by Niels Möller's avatar Niels Möller

(rsa_keypair_to_openpgp): Some bugfixes.

Rev: src/nettle/rsa.h:1.23
Rev: src/nettle/rsa2openpgp.c:1.3
parent 44027ec6
...@@ -289,7 +289,7 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer, ...@@ -289,7 +289,7 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer,
const struct rsa_public_key *pub, const struct rsa_public_key *pub,
const struct rsa_private_key *priv, const struct rsa_private_key *priv,
/* A single user id. NUL-terminated utf8. */ /* A single user id. NUL-terminated utf8. */
const char userid); const char *userid);
/* Internal functions. */ /* Internal functions. */
int int
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#if WITH_PUBLIC_KEY #if WITH_PUBLIC_KEY
#include <string.h>
#include <time.h> #include <time.h>
#include "rsa.h" #include "rsa.h"
...@@ -54,13 +55,13 @@ ...@@ -54,13 +55,13 @@
* *
* Currently, we generate a public key packet, a single user id, and a * Currently, we generate a public key packet, a single user id, and a
* signature. */ * signature. */
*/
int int
rsa_keypair_to_openpgp(struct nettle_buffer *buffer, rsa_keypair_to_openpgp(struct nettle_buffer *buffer,
const struct rsa_public_key *pub, const struct rsa_public_key *pub,
const struct rsa_private_key *priv, const struct rsa_private_key *priv,
/* A single user id. NUL-terminated utf8. */ /* A single user id. NUL-terminated utf8. */
const char userid) const char *userid)
{ {
time_t now = time(NULL); time_t now = time(NULL);
...@@ -72,8 +73,6 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer, ...@@ -72,8 +73,6 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer,
struct sha1_ctx signature_hash; struct sha1_ctx signature_hash;
uint8_t fingerprint[SHA1_DIGEST_SIZE]; uint8_t fingerprint[SHA1_DIGEST_SIZE];
mpz_t s;
key_start = buffer->size; key_start = buffer->size;
if (!pgp_put_public_rsa_key(buffer, pub, now)) if (!pgp_put_public_rsa_key(buffer, pub, now))
...@@ -91,7 +90,7 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer, ...@@ -91,7 +90,7 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer,
buffer->contents + key_start); buffer->contents + key_start);
signature_hash = key_hash; signature_hash = key_hash;
sha1_digest(&key_hash, fingerprint, sizeof(fingerprint)); sha1_digest(&key_hash, sizeof(fingerprint), fingerprint);
sha1_update(&signature_hash, sha1_update(&signature_hash,
buffer->size - userid_start, buffer->size - userid_start,
...@@ -101,6 +100,6 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer, ...@@ -101,6 +100,6 @@ rsa_keypair_to_openpgp(struct nettle_buffer *buffer,
priv, priv,
fingerprint + SHA1_DIGEST_SIZE - 8, fingerprint + SHA1_DIGEST_SIZE - 8,
PGP_SIGN_CERTIFICATION, PGP_SIGN_CERTIFICATION,
signature_hash); &signature_hash);
} }
#endif /* WITH_PUBLIC_KEY */ #endif /* WITH_PUBLIC_KEY */
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