EDDSA is not yet formally defined, but understood by GnuPG 2.1 and
has been seen in the wild. Key size is defined by the OID as for
ECDH/ECDSA keys.
typech = 'D';
break;
case OPENPGP_PKALGO_ECDSA:
+ case OPENPGP_PKALGO_EDDSA:
typech = 'E';
break;
case OPENPGP_PKALGO_EC:
switch (keydata->data[5]) {
case OPENPGP_PKALGO_EC:
case OPENPGP_PKALGO_ECDSA:
+ case OPENPGP_PKALGO_EDDSA:
/* Elliptic curve key size is based on OID */
/* Ed25519 / 1.3.6.1.4.1.11591.15.1 */
if ((keydata->data[6] == 9) &&
#define OPENPGP_PKALGO_ECDSA 19
#define OPENPGP_PKALGO_ELGAMAL_SIGN 20
#define OPENPGP_PKALGO_DH 21
+#define OPENPGP_PKALGO_EDDSA 22
#define OPENPGP_SYMALGO_PLAIN 0
#define OPENPGP_SYMALGO_IDEA 1