summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtucker <dtucker@openbsd.org>2009-11-09 04:20:04 +0000
committerdtucker <dtucker@openbsd.org>2009-11-09 04:20:04 +0000
commitfb19d1d9c71b8c92ed3f5945c5f58c6e016461a7 (patch)
tree6c1d4d1ad8167217be4effb3c77848bdd4f20cf2
parentsync (diff)
downloadwireguard-openbsd-fb19d1d9c71b8c92ed3f5945c5f58c6e016461a7.tar.xz
wireguard-openbsd-fb19d1d9c71b8c92ed3f5945c5f58c6e016461a7.zip
add regression test for ssh-keygen pubkey conversions
-rw-r--r--regress/usr.bin/ssh/Makefile3
-rw-r--r--regress/usr.bin/ssh/keygen-convert.sh33
2 files changed, 35 insertions, 1 deletions
diff --git a/regress/usr.bin/ssh/Makefile b/regress/usr.bin/ssh/Makefile
index c2dcc7a45e3..ece4e287dc4 100644
--- a/regress/usr.bin/ssh/Makefile
+++ b/regress/usr.bin/ssh/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.49 2009/08/13 00:57:17 djm Exp $
+# $OpenBSD: Makefile,v 1.50 2009/11/09 04:20:04 dtucker Exp $
REGRESS_TARGETS= t1 t2 t3 t4 t5 t6 t7
@@ -26,6 +26,7 @@ LTESTS= connect \
agent-ptrace \
keyscan \
keygen-change \
+ keygen-convert \
key-options \
scp \
sftp \
diff --git a/regress/usr.bin/ssh/keygen-convert.sh b/regress/usr.bin/ssh/keygen-convert.sh
new file mode 100644
index 00000000000..ad0e9c637d0
--- /dev/null
+++ b/regress/usr.bin/ssh/keygen-convert.sh
@@ -0,0 +1,33 @@
+# $OpenBSD: keygen-convert.sh,v 1.1 2009/11/09 04:20:04 dtucker Exp $
+# Placed in the Public Domain.
+
+tid="convert keys"
+
+for t in rsa dsa; do
+ # generate user key for agent
+ trace "generating $t key"
+ rm -f $OBJ/$t-key
+ ${SSHKEYGEN} -q -N "" -t $t -f $OBJ/$t-key
+
+ trace "export $t private to rfc4716 public"
+ ${SSHKEYGEN} -q -e -f $OBJ/$t-key >$OBJ/$t-key-rfc || \
+ fail "export $t private to rfc4716 public"
+
+ trace "export $t public to rfc4716 public"
+ ${SSHKEYGEN} -q -e -f $OBJ/$t-key.pub >$OBJ/$t-key-rfc.pub || \
+ fail "$t public to rfc4716 public"
+
+ cmp $OBJ/$t-key-rfc $OBJ/$t-key-rfc.pub || \
+ fail "$t rfc4716 exports differ between public and private"
+
+ trace "import $t rfc4716 public"
+ ${SSHKEYGEN} -q -i -f $OBJ/$t-key-rfc >$OBJ/$t-rfc-imported || \
+ fail "$t import rfc4716 public"
+
+ cut -f1,2 -d " " $OBJ/$t-key.pub >$OBJ/$t-key-nocomment.pub
+ cmp $OBJ/$t-key-nocomment.pub $OBJ/$t-rfc-imported || \
+ fail "$t imported differs from original"
+
+ rm -f $OBJ/$t-key $OBJ/$t-key.pub $OBJ/$t-key-rfc $OBJ/$t-key-rfc.pub \
+ $OBJ/$t-rfc-imported $OBJ/$t-key-nocomment.pub
+done