summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2020-02-04 09:58:04 +0000
committerDamien Miller <djm@mindrot.org>2020-02-04 21:08:10 +1100
commitd596b1d30dc158915a3979fa409d21ff2465b6ee (patch)
treec7c5d1c14cbd5e2e2448043d69b4dc383c56effb
parent501f3582438cb2cb1cb92be0f17be490ae96fb23 (diff)
upstream: require FIDO application strings to start with "ssh:"; ok
markus@ OpenBSD-Commit-ID: 94e9c1c066d42b76f035a3d58250a32b14000afb
-rw-r--r--ssh-keygen.16
-rw-r--r--ssh-keygen.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/ssh-keygen.1 b/ssh-keygen.1
index f0e76aab..51aee21a 100644
--- a/ssh-keygen.1
+++ b/ssh-keygen.1
@@ -1,4 +1,4 @@
-.\" $OpenBSD: ssh-keygen.1,v 1.199 2020/02/03 08:15:37 jmc Exp $
+.\" $OpenBSD: ssh-keygen.1,v 1.200 2020/02/04 09:58:04 djm Exp $
.\"
.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -35,7 +35,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd $Mdocdate: February 3 2020 $
+.Dd $Mdocdate: February 4 2020 $
.Dt SSH-KEYGEN 1
.Os
.Sh NAME
@@ -472,6 +472,8 @@ Those supported at present are:
Override the default FIDO application/origin string of
.Dq ssh: .
This may be useful when generating host or domain-specific resident keys.
+The specified application string must begin with
+.Dq ssh: .
.It Cm challenge Ns = Ns Ar path
Specifies a path to a challenge string that will be passed to the
FIDO token during key generation.
diff --git a/ssh-keygen.c b/ssh-keygen.c
index 4ee43ab9..2a64622c 100644
--- a/ssh-keygen.c
+++ b/ssh-keygen.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keygen.c,v 1.395 2020/01/28 08:01:34 djm Exp $ */
+/* $OpenBSD: ssh-keygen.c,v 1.396 2020/02/04 09:58:04 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -3572,6 +3572,10 @@ main(int argc, char **argv)
} else if (strncasecmp(opts[i],
"application=", 12) == 0) {
sk_application = xstrdup(opts[i] + 12);
+ if (strncmp(sk_application, "ssh:", 4) != 0) {
+ fatal("FIDO application string must "
+ "begin with \"ssh:\"");
+ }
} else {
fatal("Option \"%s\" is unsupported for "
"FIDO authenticator enrollment", opts[i]);