test -Ohashalg=... and that the default output contains both
authordjm <djm@openbsd.org>
Fri, 10 Feb 2023 05:06:03 +0000 (05:06 +0000)
committerdjm <djm@openbsd.org>
Fri, 10 Feb 2023 05:06:03 +0000 (05:06 +0000)
specified hash algorithms; prompted by dtucker@

regress/usr.bin/ssh/keygen-sshfp.sh

index 2abf9ad..0f5eb85 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: keygen-sshfp.sh,v 1.2 2021/07/19 02:29:28 dtucker Exp $
+#      $OpenBSD: keygen-sshfp.sh,v 1.3 2023/02/10 05:06:03 djm Exp $
 #      Placed in the Public Domain.
 
 tid="keygen-sshfp"
@@ -16,6 +16,25 @@ if [ "$fp" != \
        fail "keygen fingerprint sha256"
 fi
 
+# Expect two lines of output without an explicit algorithm
+fp=`${SSHKEYGEN} -r test -f ${SRC}/ed25519_openssh.pub | wc -l`
+if [ $(($fp + 0)) -ne 2 ] ; then
+       fail "incorrect number of SSHFP records $fp (expected 2)"
+fi
+
+# Test explicit algorithm selection
+exp="test IN SSHFP 4 1 8a8647a7567e202ce317e62606c799c53d4c121f"
+fp=`${SSHKEYGEN} -Ohashalg=sha1 -r test -f ${SRC}/ed25519_openssh.pub`
+if [ "x$exp" != "x$fp" ] ; then
+       fail "incorrect SHA1 SSHFP output"
+fi
+
+exp="test IN SSHFP 4 2 54a506fb849aafb9f229cf78a94436c281efcb4ae67c8a430e8c06afcb5ee18f"
+fp=`${SSHKEYGEN} -Ohashalg=sha256 -r test -f ${SRC}/ed25519_openssh.pub`
+if [ "x$exp" != "x$fp" ] ; then
+       fail "incorrect SHA256 SSHFP output"
+fi
+
 if ${SSH} -Q key-plain | grep ssh-rsa >/dev/null; then
        fp=`${SSHKEYGEN} -r test -f ${SRC}/rsa_openssh.pub | awk '$5=="1"{print $6}'`
        if [ "$fp" != "99c79cc09f5f81069cc017cdf9552cfc94b3b929" ]; then
@@ -27,3 +46,4 @@ if ${SSH} -Q key-plain | grep ssh-rsa >/dev/null; then
                fail "keygen fingerprint sha256"
        fi
 fi
+