aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keygen.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keygen.c')
-rw-r--r--g10/keygen.c43
1 files changed, 1 insertions, 42 deletions
diff --git a/g10/keygen.c b/g10/keygen.c
index c90e95be5..dd008b200 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -1284,47 +1284,6 @@ write_keybinding (ctrl_t ctrl, kbnode_t root,
static gpg_error_t
-sos_fixup_pubkey_448 (int algo, gcry_mpi_t *p_pubkey)
-{
- gcry_mpi_t pubkey_mpi;
- gcry_mpi_t a;
- unsigned char *p;
- const unsigned char *p_key;
- unsigned int nbits;
- unsigned int len;
-
- pubkey_mpi = *p_pubkey;
- *p_pubkey = NULL;
- p_key = gcry_mpi_get_opaque (pubkey_mpi, &nbits);
- len = (nbits+7)/8;
- if ((algo == PUBKEY_ALGO_ECDH && len != 56)
- || (algo == PUBKEY_ALGO_EDDSA && len != 57)
- || (algo != PUBKEY_ALGO_ECDH && algo != PUBKEY_ALGO_EDDSA))
- {
- gcry_mpi_release (pubkey_mpi);
- return gpg_error (GPG_ERR_BAD_PUBKEY);
- }
-
- p = xtrymalloc (1 + len);
- if (!p)
- {
- gcry_mpi_release (pubkey_mpi);
- return gpg_error_from_syserror ();
- }
-
- p[0] = 0x40;
- memcpy (p+1, p_key, len);
-
- a = gcry_mpi_set_opaque (NULL, p, 0);
- gcry_mpi_set_flag (a, GCRYMPI_FLAG_USER2);
- *p_pubkey = a;
- gcry_mpi_release (pubkey_mpi);
-
- return 0;
-}
-
-
-static gpg_error_t
ecckey_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp, int algo)
{
gpg_error_t err;
@@ -1379,7 +1338,7 @@ ecckey_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp, int algo)
if (openpgp_oid_is_ed448 (array[0])
|| openpgp_oid_is_cv448 (array[0]))
{
- err = sos_fixup_pubkey_448 (algo, &array[1]);
+ err = openpgp_fixup_pubkey_448 (algo, &array[1]);
if (err)
goto leave;
}