From a290ddcba332424443fa2507428cf4bdfd415bac Mon Sep 17 00:00:00 2001 From: Markus Friedl Date: Fri, 6 Dec 2013 13:39:50 +0000 Subject: support ed25519 keys (hostkeys and user identities) using the public domain ed25519 reference code from SUPERCOP, see http://ed25519.cr.yp.to/software.html feedback, help & ok djm@ --- usr.bin/ssh/authfile.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'usr.bin/ssh/authfile.c') diff --git a/usr.bin/ssh/authfile.c b/usr.bin/ssh/authfile.c index c712653bf2c..77594c4e3b1 100644 --- a/usr.bin/ssh/authfile.c +++ b/usr.bin/ssh/authfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfile.c,v 1.99 2013/12/06 13:34:54 markus Exp $ */ +/* $OpenBSD: authfile.c,v 1.100 2013/12/06 13:39:49 markus Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -46,6 +46,8 @@ #include #include +#include "crypto_api.h" + #include #include #include @@ -582,6 +584,9 @@ key_private_to_blob(Key *key, Buffer *blob, const char *passphrase, comment, new_format_cipher, new_format_rounds); } return key_private_pem_to_blob(key, blob, passphrase, comment); + case KEY_ED25519: + return key_private_to_blob2(key, blob, passphrase, + comment, new_format_cipher, new_format_rounds); default: error("%s: cannot save key type %d", __func__, key->type); return 0; @@ -981,6 +986,9 @@ key_parse_private_type(Buffer *blob, int type, const char *passphrase, case KEY_DSA: case KEY_ECDSA: case KEY_RSA: + return key_parse_private_pem(blob, type, passphrase, commentp); + case KEY_ED25519: + return key_parse_private2(blob, type, passphrase, commentp); case KEY_UNSPEC: if ((k = key_parse_private2(blob, type, passphrase, commentp))) return k; -- cgit v1.2.3