diff options
author | djm@openbsd.org <djm@openbsd.org> | 2019-11-18 06:39:02 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2019-11-18 17:42:11 +1100 |
commit | 740c4bc9875cbb4b9fc03fd5eac19df080f20df5 (patch) | |
tree | 025ff51e9a44c7ab27805efcde5a1247fe880430 | |
parent | 85409cbb505d8c463ab6e2284b4039764c7243de (diff) |
upstream: fix bug that prevented certification of ed25519-sk keys
OpenBSD-Commit-ID: 64c8cc6f5de2cdd0ee3a81c3a9dee8d862645996
-rw-r--r-- | sshkey.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshkey.c,v 1.93 2019/11/15 06:00:20 djm Exp $ */ | 1 | /* $OpenBSD: sshkey.c,v 1.94 2019/11/18 06:39:02 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
4 | * Copyright (c) 2008 Alexander von Gernler. All rights reserved. | 4 | * Copyright (c) 2008 Alexander von Gernler. All rights reserved. |
@@ -2978,9 +2978,15 @@ sshkey_certify_custom(struct sshkey *k, struct sshkey *ca, const char *alg, | |||
2978 | break; | 2978 | break; |
2979 | #endif /* WITH_OPENSSL */ | 2979 | #endif /* WITH_OPENSSL */ |
2980 | case KEY_ED25519_CERT: | 2980 | case KEY_ED25519_CERT: |
2981 | case KEY_ED25519_SK_CERT: | ||
2981 | if ((ret = sshbuf_put_string(cert, | 2982 | if ((ret = sshbuf_put_string(cert, |
2982 | k->ed25519_pk, ED25519_PK_SZ)) != 0) | 2983 | k->ed25519_pk, ED25519_PK_SZ)) != 0) |
2983 | goto out; | 2984 | goto out; |
2985 | if (k->type == KEY_ED25519_SK_CERT) { | ||
2986 | if ((ret = sshbuf_put_cstring(cert, | ||
2987 | k->sk_application)) != 0) | ||
2988 | goto out; | ||
2989 | } | ||
2984 | break; | 2990 | break; |
2985 | #ifdef WITH_XMSS | 2991 | #ifdef WITH_XMSS |
2986 | case KEY_XMSS_CERT: | 2992 | case KEY_XMSS_CERT: |