11305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# $OpenBSD: ssh-com-keygen.sh,v 1.4 2004/02/24 17:06:52 markus Exp $ 21305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# Placed in the Public Domain. 31305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 41305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodtid="ssh.com key import" 51305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 61305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood#TEST_COMBASE=/path/to/ssh/com/binaries 71305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodif [ "X${TEST_COMBASE}" = "X" ]; then 81305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fatal '$TEST_COMBASE is not set' 91305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodfi 101305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 111305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodVERSIONS=" 121305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.0.10 131305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.0.12 141305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.0.13 151305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.1.0 161305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.2.0 171305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.3.0 181305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.3.1 191305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.4.0 201305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.0.0 211305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.1.0 221305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.2.0 231305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.2.2 241305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.2.3 251305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.2.5 261305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.2.9 271305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.2.9.1 281305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 3.3.0" 291305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 301305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodCOMPRV=${OBJ}/comkey 311305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodCOMPUB=${COMPRV}.pub 321305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodOPENSSHPRV=${OBJ}/opensshkey 331305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodOPENSSHPUB=${OPENSSHPRV}.pub 341305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 351305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# go for it 361305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodfor v in ${VERSIONS}; do 371305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood keygen=${TEST_COMBASE}/${v}/ssh-keygen2 381305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood if [ ! -x ${keygen} ]; then 391305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood continue 401305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 411305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood types="dss" 421305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood case $v in 431305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 2.3.1|3.*) 441305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood types="$types rsa" 451305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood ;; 461305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood esac 471305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood for t in $types; do 481305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood verbose "ssh-keygen $v/$t" 491305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood rm -f $COMPRV $COMPUB $OPENSSHPRV $OPENSSHPUB 501305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood ${keygen} -q -P -t $t ${COMPRV} > /dev/null 2>&1 511305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood if [ $? -ne 0 ]; then 521305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fail "${keygen} -t $t failed" 531305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood continue 541305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 551305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood ${SSHKEYGEN} -if ${COMPUB} > ${OPENSSHPUB} 561305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood if [ $? -ne 0 ]; then 571305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fail "import public key ($v/$t) failed" 581305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood continue 591305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 601305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood ${SSHKEYGEN} -if ${COMPRV} > ${OPENSSHPRV} 611305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood if [ $? -ne 0 ]; then 621305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fail "import private key ($v/$t) failed" 631305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood continue 641305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 651305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood chmod 600 ${OPENSSHPRV} 661305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood ${SSHKEYGEN} -yf ${OPENSSHPRV} |\ 671305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood diff - ${OPENSSHPUB} 681305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood if [ $? -ne 0 ]; then 691305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fail "public keys ($v/$t) differ" 701305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 711305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood done 721305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwooddone 731305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 741305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodrm -f $COMPRV $COMPUB $OPENSSHPRV $OPENSSHPUB 75