1276707Sdes#!/bin/sh 2295367Sdes# $OpenBSD: mktestdata.sh,v 1.5 2015/07/07 14:53:30 markus Exp $ 3276707Sdes 4276707SdesPW=mekmitasdigoat 5276707Sdes 6276707Sdesrsa1_params() { 7276707Sdes _in="$1" 8276707Sdes _outbase="$2" 9276707Sdes set -e 10276707Sdes ssh-keygen -f $_in -e -m pkcs8 | \ 11276707Sdes openssl rsa -noout -text -pubin | \ 12276707Sdes awk '/^Modulus:$/,/^Exponent:/' | \ 13276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.n 14276707Sdes # XXX need conversion support in ssh-keygen for the other params 15276707Sdes for x in n ; do 16276707Sdes echo "" >> ${_outbase}.$x 17276707Sdes echo ============ ${_outbase}.$x 18276707Sdes cat ${_outbase}.$x 19276707Sdes echo ============ 20276707Sdes done 21276707Sdes} 22276707Sdes 23276707Sdesrsa_params() { 24276707Sdes _in="$1" 25276707Sdes _outbase="$2" 26276707Sdes set -e 27276707Sdes openssl rsa -noout -text -in $_in | \ 28276707Sdes awk '/^modulus:$/,/^publicExponent:/' | \ 29276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.n 30276707Sdes openssl rsa -noout -text -in $_in | \ 31276707Sdes awk '/^prime1:$/,/^prime2:/' | \ 32276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.p 33276707Sdes openssl rsa -noout -text -in $_in | \ 34276707Sdes awk '/^prime2:$/,/^exponent1:/' | \ 35276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.q 36276707Sdes for x in n p q ; do 37276707Sdes echo "" >> ${_outbase}.$x 38276707Sdes echo ============ ${_outbase}.$x 39276707Sdes cat ${_outbase}.$x 40276707Sdes echo ============ 41276707Sdes done 42276707Sdes} 43276707Sdes 44276707Sdesdsa_params() { 45276707Sdes _in="$1" 46276707Sdes _outbase="$2" 47276707Sdes set -e 48276707Sdes openssl dsa -noout -text -in $_in | \ 49276707Sdes awk '/^priv:$/,/^pub:/' | \ 50276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.priv 51276707Sdes openssl dsa -noout -text -in $_in | \ 52276707Sdes awk '/^pub:/,/^P:/' | #\ 53276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.pub 54276707Sdes openssl dsa -noout -text -in $_in | \ 55276707Sdes awk '/^G:/,0' | \ 56276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.g 57276707Sdes for x in priv pub g ; do 58276707Sdes echo "" >> ${_outbase}.$x 59276707Sdes echo ============ ${_outbase}.$x 60276707Sdes cat ${_outbase}.$x 61276707Sdes echo ============ 62276707Sdes done 63276707Sdes} 64276707Sdes 65276707Sdesecdsa_params() { 66276707Sdes _in="$1" 67276707Sdes _outbase="$2" 68276707Sdes set -e 69276707Sdes openssl ec -noout -text -in $_in | \ 70276707Sdes awk '/^priv:$/,/^pub:/' | \ 71276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.priv 72276707Sdes openssl ec -noout -text -in $_in | \ 73276707Sdes awk '/^pub:/,/^ASN1 OID:/' | #\ 74276707Sdes grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.pub 75276707Sdes openssl ec -noout -text -in $_in | \ 76276707Sdes grep "ASN1 OID:" | tr -d '\n' | \ 77276707Sdes sed 's/.*: //;s/ *$//' > ${_outbase}.curve 78276707Sdes for x in priv pub curve ; do 79276707Sdes echo "" >> ${_outbase}.$x 80276707Sdes echo ============ ${_outbase}.$x 81276707Sdes cat ${_outbase}.$x 82276707Sdes echo ============ 83276707Sdes done 84276707Sdes} 85276707Sdes 86276707Sdesset -ex 87276707Sdes 88276707Sdescd testdata 89276707Sdes 90276707Sdesrm -f rsa1_1 rsa_1 dsa_1 ecdsa_1 ed25519_1 91276707Sdesrm -f rsa1_2 rsa_2 dsa_2 ecdsa_2 ed25519_2 92276707Sdesrm -f rsa_n dsa_n ecdsa_n # new-format keys 93276707Sdesrm -f rsa1_1_pw rsa_1_pw dsa_1_pw ecdsa_1_pw ed25519_1_pw 94276707Sdesrm -f rsa_n_pw dsa_n_pw ecdsa_n_pw 95276707Sdesrm -f pw *.pub *.bn.* *.param.* *.fp *.fp.bb 96276707Sdes 97295367Sdesssh-keygen -t rsa1 -b 1024 -C "RSA1 test key #1" -N "" -f rsa1_1 98295367Sdesssh-keygen -t rsa -b 1024 -C "RSA test key #1" -N "" -f rsa_1 99276707Sdesssh-keygen -t dsa -b 1024 -C "DSA test key #1" -N "" -f dsa_1 100276707Sdesssh-keygen -t ecdsa -b 256 -C "ECDSA test key #1" -N "" -f ecdsa_1 101276707Sdesssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_1 102276707Sdes 103276707Sdesssh-keygen -t rsa1 -b 2048 -C "RSA1 test key #2" -N "" -f rsa1_2 104276707Sdesssh-keygen -t rsa -b 2048 -C "RSA test key #2" -N "" -f rsa_2 105276707Sdesssh-keygen -t dsa -b 1024 -C "DSA test key #2" -N "" -f dsa_2 106276707Sdesssh-keygen -t ecdsa -b 521 -C "ECDSA test key #2" -N "" -f ecdsa_2 107276707Sdesssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_2 108276707Sdes 109276707Sdescp rsa_1 rsa_n 110276707Sdescp dsa_1 dsa_n 111276707Sdescp ecdsa_1 ecdsa_n 112276707Sdes 113276707Sdescp rsa1_1 rsa1_1_pw 114276707Sdescp rsa_1 rsa_1_pw 115276707Sdescp dsa_1 dsa_1_pw 116276707Sdescp ecdsa_1 ecdsa_1_pw 117276707Sdescp ed25519_1 ed25519_1_pw 118276707Sdescp rsa_1 rsa_n_pw 119276707Sdescp dsa_1 dsa_n_pw 120276707Sdescp ecdsa_1 ecdsa_n_pw 121276707Sdes 122276707Sdesssh-keygen -pf rsa1_1_pw -N "$PW" 123276707Sdesssh-keygen -pf rsa_1_pw -N "$PW" 124276707Sdesssh-keygen -pf dsa_1_pw -N "$PW" 125276707Sdesssh-keygen -pf ecdsa_1_pw -N "$PW" 126276707Sdesssh-keygen -pf ed25519_1_pw -N "$PW" 127276707Sdesssh-keygen -opf rsa_n_pw -N "$PW" 128276707Sdesssh-keygen -opf dsa_n_pw -N "$PW" 129276707Sdesssh-keygen -opf ecdsa_n_pw -N "$PW" 130276707Sdes 131276707Sdesrsa1_params rsa1_1 rsa1_1.param 132276707Sdesrsa1_params rsa1_2 rsa1_2.param 133276707Sdesrsa_params rsa_1 rsa_1.param 134276707Sdesrsa_params rsa_2 rsa_2.param 135276707Sdesdsa_params dsa_1 dsa_1.param 136276707Sdesdsa_params dsa_1 dsa_1.param 137276707Sdesecdsa_params ecdsa_1 ecdsa_1.param 138276707Sdesecdsa_params ecdsa_2 ecdsa_2.param 139276707Sdes# XXX ed25519 params 140276707Sdes 141276707Sdesssh-keygen -s rsa_2 -I hugo -n user1,user2 \ 142276707Sdes -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ 143276707Sdes -V 19990101:20110101 -z 1 rsa_1.pub 144276707Sdesssh-keygen -s rsa_2 -I hugo -n user1,user2 \ 145276707Sdes -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ 146276707Sdes -V 19990101:20110101 -z 2 dsa_1.pub 147276707Sdesssh-keygen -s rsa_2 -I hugo -n user1,user2 \ 148276707Sdes -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ 149276707Sdes -V 19990101:20110101 -z 3 ecdsa_1.pub 150276707Sdesssh-keygen -s rsa_2 -I hugo -n user1,user2 \ 151276707Sdes -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ 152276707Sdes -V 19990101:20110101 -z 4 ed25519_1.pub 153276707Sdes 154276707Sdesssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ 155276707Sdes -V 19990101:20110101 -z 5 rsa_1.pub 156276707Sdesssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ 157276707Sdes -V 19990101:20110101 -z 6 dsa_1.pub 158276707Sdesssh-keygen -s ecdsa_1 -I julius -n host1,host2 -h \ 159276707Sdes -V 19990101:20110101 -z 7 ecdsa_1.pub 160276707Sdesssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ 161276707Sdes -V 19990101:20110101 -z 8 ed25519_1.pub 162276707Sdes 163276707Sdesssh-keygen -lf rsa1_1 | awk '{print $2}' > rsa1_1.fp 164276707Sdesssh-keygen -lf rsa_1 | awk '{print $2}' > rsa_1.fp 165276707Sdesssh-keygen -lf dsa_1 | awk '{print $2}' > dsa_1.fp 166276707Sdesssh-keygen -lf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp 167276707Sdesssh-keygen -lf ed25519_1 | awk '{print $2}' > ed25519_1.fp 168276707Sdesssh-keygen -lf rsa1_2 | awk '{print $2}' > rsa1_2.fp 169276707Sdesssh-keygen -lf rsa_2 | awk '{print $2}' > rsa_2.fp 170276707Sdesssh-keygen -lf dsa_2 | awk '{print $2}' > dsa_2.fp 171276707Sdesssh-keygen -lf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp 172276707Sdesssh-keygen -lf ed25519_2 | awk '{print $2}' > ed25519_2.fp 173276707Sdes 174276707Sdesssh-keygen -lf dsa_1-cert.pub | awk '{print $2}' > dsa_1-cert.fp 175276707Sdesssh-keygen -lf ecdsa_1-cert.pub | awk '{print $2}' > ecdsa_1-cert.fp 176276707Sdesssh-keygen -lf ed25519_1-cert.pub | awk '{print $2}' > ed25519_1-cert.fp 177276707Sdesssh-keygen -lf rsa_1-cert.pub | awk '{print $2}' > rsa_1-cert.fp 178276707Sdes 179276707Sdesssh-keygen -Bf rsa1_1 | awk '{print $2}' > rsa1_1.fp.bb 180276707Sdesssh-keygen -Bf rsa_1 | awk '{print $2}' > rsa_1.fp.bb 181276707Sdesssh-keygen -Bf dsa_1 | awk '{print $2}' > dsa_1.fp.bb 182276707Sdesssh-keygen -Bf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp.bb 183276707Sdesssh-keygen -Bf ed25519_1 | awk '{print $2}' > ed25519_1.fp.bb 184276707Sdesssh-keygen -Bf rsa1_2 | awk '{print $2}' > rsa1_2.fp.bb 185276707Sdesssh-keygen -Bf rsa_2 | awk '{print $2}' > rsa_2.fp.bb 186276707Sdesssh-keygen -Bf dsa_2 | awk '{print $2}' > dsa_2.fp.bb 187276707Sdesssh-keygen -Bf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp.bb 188276707Sdesssh-keygen -Bf ed25519_2 | awk '{print $2}' > ed25519_2.fp.bb 189276707Sdes 190295367Sdes# XXX Extend ssh-keygen to do detached signatures (better to test/fuzz against) 191295367Sdes 192276707Sdesecho "$PW" > pw 193