]> the.earth.li Git - onak.git/commitdiff
Add support for displaying EDDSA keys
authorJonathan McDowell <noodles@earth.li>
Sat, 15 Aug 2015 09:23:54 +0000 (10:23 +0100)
committerJonathan McDowell <noodles@earth.li>
Sat, 15 Aug 2015 09:23:54 +0000 (10:23 +0100)
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.

keyindex.c
openpgp.h

index a26d458cdbb39cb6adee0acab85d379be231306e..ae1bcf89b1501f3a3e5bda5663ddaa44905d20bf 100644 (file)
@@ -48,6 +48,7 @@ char pkalgo2char(uint8_t algo)
                typech = 'D';
                break;
        case OPENPGP_PKALGO_ECDSA:
+       case OPENPGP_PKALGO_EDDSA:
                typech = 'E';
                break;
        case OPENPGP_PKALGO_EC:
@@ -93,6 +94,7 @@ unsigned int keylength(struct openpgp_packet *keydata)
                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) &&
index 7196e953b43ec0ed29fcea5ded45968dc60e4bd7..84a1b9246f60ef01e9fdfdc6d52fb23e65bd775d 100644 (file)
--- a/openpgp.h
+++ b/openpgp.h
@@ -29,6 +29,7 @@
 #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