|  | #!/bin/sh | 
|  | #	$OpenBSD: ssh2putty.sh,v 1.2 2009/10/06 23:51:49 dtucker Exp $ | 
|  |  | 
|  | if test "x$1" = "x" -o "x$2" = "x" -o "x$3" = "x" ; then | 
|  | echo "Usage: ssh2putty hostname port ssh-private-key" | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | HOST=$1 | 
|  | PORT=$2 | 
|  | KEYFILE=$3 | 
|  |  | 
|  | # XXX - support DSA keys too | 
|  | if grep "BEGIN RSA PRIVATE KEY" $KEYFILE >/dev/null 2>&1 ; then | 
|  | : | 
|  | else | 
|  | echo "Unsupported private key format" | 
|  | exit 1 | 
|  | fi | 
|  |  | 
|  | public_exponent=` | 
|  | openssl rsa -noout -text -in $KEYFILE | grep ^publicExponent | | 
|  | sed 's/.*(//;s/).*//' | 
|  | ` | 
|  | test $? -ne 0 && exit 1 | 
|  |  | 
|  | modulus=` | 
|  | openssl rsa -noout -modulus -in $KEYFILE | grep ^Modulus= | | 
|  | sed 's/^Modulus=/0x/' | tr A-Z a-z | 
|  | ` | 
|  | test $? -ne 0 && exit 1 | 
|  |  | 
|  | echo "rsa2@$PORT:$HOST $public_exponent,$modulus" | 
|  |  |