aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/openpgpdefs.h4
-rw-r--r--g10/keygen.c8
-rw-r--r--tests/openpgp/Makefile.am7
-rw-r--r--tests/openpgp/privkeys/0DD40284FF992CD24DC4AAC367037E066FCEE26A.asc27
-rw-r--r--tests/openpgp/samplekeys/README2
-rw-r--r--tests/openpgp/samplekeys/eddsa-sample-1-pub.asc15
-rw-r--r--tests/openpgp/samplekeys/eddsa-sample-1-sec.asc19
7 files changed, 72 insertions, 10 deletions
diff --git a/common/openpgpdefs.h b/common/openpgpdefs.h
index ac1af3788..c81109a9e 100644
--- a/common/openpgpdefs.h
+++ b/common/openpgpdefs.h
@@ -122,8 +122,8 @@ typedef enum
PUBKEY_ALGO_ECDH = 18, /* RFC-6637 */
PUBKEY_ALGO_ECDSA = 19, /* RFC-6637 */
PUBKEY_ALGO_ELGAMAL = 20, /* Elgamal encrypt+sign (legacy). */
-
- PUBKEY_ALGO_EDDSA = 105 /* EdDSA (cf. Ed25519) (experimental). */
+ /* 21 reserved by OpenPGP. */
+ PUBKEY_ALGO_EDDSA = 22 /* EdDSA (not yet assigned). */
}
pubkey_algo_t;
diff --git a/g10/keygen.c b/g10/keygen.c
index c2c31d52e..92337bb75 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -2198,12 +2198,8 @@ ask_curve (int *algo, int both)
{
if (curves[idx].fix_curve)
{
- log_info ("WARNING: Curve25519 is an experimental algorithm"
- " and not yet standardized.\n");
- log_info (" The key format will eventually change"
- " and render this key unusable!\n");
- log_info (" You also need a recent development version"
- " of Libgcrypt.\n");
+ log_info ("WARNING: Curve25519 is not yet part of the"
+ " OpenPGP standard.\n");
if (!cpr_get_answer_is_yes("experimental_curve.override",
"Use this curve anyway? (y/N) ") )
diff --git a/tests/openpgp/Makefile.am b/tests/openpgp/Makefile.am
index 4b1c219f9..17d19117b 100644
--- a/tests/openpgp/Makefile.am
+++ b/tests/openpgp/Makefile.am
@@ -58,14 +58,17 @@ priv_keys = privkeys/50B2D4FA4122C212611048BC5FC31BD44393626E.asc \
privkeys/0D6F6AD4C4C803B25470F9104E9F4E6A4CA64255.asc \
privkeys/FD692BD59D6640A84C8422573D469F84F3B98E53.asc \
privkeys/76F7E2B35832976B50A27A282D9B87E44577EB66.asc \
- privkeys/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD.asc
+ privkeys/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD.asc \
+ privkeys/0DD40284FF992CD24DC4AAC367037E066FCEE26A.asc
sample_keys = samplekeys/ecc-sample-1-pub.asc \
samplekeys/ecc-sample-2-pub.asc \
samplekeys/ecc-sample-3-pub.asc \
samplekeys/ecc-sample-1-sec.asc \
samplekeys/ecc-sample-2-sec.asc \
- samplekeys/ecc-sample-3-sec.asc
+ samplekeys/ecc-sample-3-sec.asc \
+ samplekeys/eddsa-sample-1-pub.asc \
+ samplekeys/eddsa-sample-1-sec.asc
EXTRA_DIST = defs.inc pinentry.sh $(TESTS) $(TEST_FILES) ChangeLog-2011 \
mkdemodirs signdemokey $(priv_keys) $(sample_keys)
diff --git a/tests/openpgp/privkeys/0DD40284FF992CD24DC4AAC367037E066FCEE26A.asc b/tests/openpgp/privkeys/0DD40284FF992CD24DC4AAC367037E066FCEE26A.asc
new file mode 100644
index 000000000..49d441309
--- /dev/null
+++ b/tests/openpgp/privkeys/0DD40284FF992CD24DC4AAC367037E066FCEE26A.asc
@@ -0,0 +1,27 @@
+This is the unprotected private key for
+
+pub ed25519/97965A9A 2014-08-19
+ Key fingerprint = C959 BDBA FA32 A2F8 9A15 3B67 8CFD E121 9796 5A9A
+ Keygrip = 0DD40284FF992CD24DC4AAC367037E066FCEE26A
+uid [ unknown] EdDSA sample key 1 (draft-koch-eddsa-for-openpgp-00)
+
+The human readable version of the armored s-expression below is:
+
+(private-key
+ (ecc
+ (curve Ed25519)
+ (flags eddsa)
+ (q #403F098994BDD916ED4053197934E4A87C80733A1280D62F8010992E43EE3B2406#)
+ (d #1A8B1FF05DED48E18BF50166C664AB023EA70003D78D9E41F5758A91D850F8D2#)
+ )
+ )
+
+-----BEGIN PGP ARMORED FILE-----
+Version: GnuPG v2
+Comment: Use "gpg --dearmor" for unpacking
+
+KDExOnByaXZhdGUta2V5KDM6ZWNjKDU6Y3VydmU3OkVkMjU1MTkpKDU6ZmxhZ3M1
+OmVkZHNhKSgxOnEzMzpAPwmJlL3ZFu1AUxl5NOSofIBzOhKA1i+AEJkuQ+47JAYp
+KDE6ZDMyOhqLH/Bd7Ujhi/UBZsZkqwI+pwAD142eQfV1ipHYUPjSKSkp
+=SS8V
+-----END PGP ARMORED FILE-----
diff --git a/tests/openpgp/samplekeys/README b/tests/openpgp/samplekeys/README
index b8520c467..c30345f91 100644
--- a/tests/openpgp/samplekeys/README
+++ b/tests/openpgp/samplekeys/README
@@ -6,3 +6,5 @@ ecc-sample-2-pub.asc A NIST P-384 ECC sample key.
ecc-sample-2-sec.asc Ditto, but the secret keyblock.
ecc-sample-3-pub.asc A NIST P-521 ECC sample key.
ecc-sample-3-sec.asc Ditto, but the secret keyblock.
+eddsa-sample-1-pub.asc An Ed25519 sample key.
+eddsa-sample-1-sec.asc Ditto, but as protected secret keyblock.
diff --git a/tests/openpgp/samplekeys/eddsa-sample-1-pub.asc b/tests/openpgp/samplekeys/eddsa-sample-1-pub.asc
new file mode 100644
index 000000000..5a65453ef
--- /dev/null
+++ b/tests/openpgp/samplekeys/eddsa-sample-1-pub.asc
@@ -0,0 +1,15 @@
+pub ed25519/97965A9A 2014-08-19
+ Key fingerprint = C959 BDBA FA32 A2F8 9A15 3B67 8CFD E121 9796 5A9A
+ Keygrip = 0DD40284FF992CD24DC4AAC367037E066FCEE26A
+uid [ unknown] EdDSA sample key 1 (draft-koch-eddsa-for-openpgp-00)
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+mDMEU/NfCxYJKwYBBAHaRw8BAQdAPwmJlL3ZFu1AUxl5NOSofIBzOhKA1i+AEJku
+Q+47JAa0NEVkRFNBIHNhbXBsZSBrZXkgMSAoZHJhZnQta29jaC1lZGRzYS1mb3It
+b3BlbnBncC0wMCmIeQQTFggAIQUCU/NfCwIbAwULCQgHAgYVCAkKCwIEFgIDAQIe
+AQIXgAAKCRCM/eEhl5ZamnNOAP9pKn5wz3jPsgy9p65zxz1+xJEr/cczFQx/tYkk
+49tkeAD+P9jJE4SFD2lVofxn1e22H7YLvcVyHDOA9gpYWTNXiAU=
+=Jbi7
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/tests/openpgp/samplekeys/eddsa-sample-1-sec.asc b/tests/openpgp/samplekeys/eddsa-sample-1-sec.asc
new file mode 100644
index 000000000..4b5fbcc91
--- /dev/null
+++ b/tests/openpgp/samplekeys/eddsa-sample-1-sec.asc
@@ -0,0 +1,19 @@
+sec ed25519/97965A9A 2014-08-19
+ Key fingerprint = C959 BDBA FA32 A2F8 9A15 3B67 8CFD E121 9796 5A9A
+ Keygrip = 0DD40284FF992CD24DC4AAC367037E066FCEE26A
+uid [ unknown] EdDSA sample key 1 (draft-koch-eddsa-for-openpgp-00)
+
+The passphrase is "abc".
+
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+Version: GnuPG v2
+
+lIYEU/NfCxYJKwYBBAHaRw8BAQdAPwmJlL3ZFu1AUxl5NOSofIBzOhKA1i+AEJku
+Q+47JAb+BwMCeZTNZ5R2udDknlhWE5VnJaHe+HFieLlfQA+nibymcJS5lTYL7NP+
+3CY63ylHwHoS7PuPLpdbEvROJ60u6+a/bSe86jRcJODR6rN2iG9v5LQ0RWREU0Eg
+c2FtcGxlIGtleSAxIChkcmFmdC1rb2NoLWVkZHNhLWZvci1vcGVucGdwLTAwKYh5
+BBMWCAAhBQJT818LAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEIz94SGX
+llqac04A/2kqfnDPeM+yDL2nrnPHPX7EkSv9xzMVDH+1iSTj22R4AP4/2MkThIUP
+aVWh/GfV7bYftgu9xXIcM4D2ClhZM1eIBQ==
+=+9EF
+-----END PGP PRIVATE KEY BLOCK-----