xref: /freebsd/crypto/openssh/regress/ssh2putty.sh (revision 19261079b74319502c6ffa1249920079f0f69a72)
1ce3adf43SDag-Erling Smørgrav#!/bin/sh
2*19261079SEd Maste#	$OpenBSD: ssh2putty.sh,v 1.9 2021/07/25 12:13:03 dtucker Exp $
3ce3adf43SDag-Erling Smørgrav
4ce3adf43SDag-Erling Smørgravif test "x$1" = "x" -o "x$2" = "x" -o "x$3" = "x" ; then
5ce3adf43SDag-Erling Smørgrav	echo "Usage: ssh2putty hostname port ssh-private-key"
6ce3adf43SDag-Erling Smørgrav	exit 1
7ce3adf43SDag-Erling Smørgravfi
8ce3adf43SDag-Erling Smørgrav
9ce3adf43SDag-Erling SmørgravHOST=$1
10ce3adf43SDag-Erling SmørgravPORT=$2
11ce3adf43SDag-Erling SmørgravKEYFILE=$3
12ce3adf43SDag-Erling Smørgrav
13*19261079SEd MasteOPENSSL_BIN="${OPENSSL_BIN:-openssl}"
14*19261079SEd Maste
15ce3adf43SDag-Erling Smørgrav# XXX - support DSA keys too
16ce3adf43SDag-Erling Smørgravif grep "BEGIN RSA PRIVATE KEY" $KEYFILE >/dev/null 2>&1 ; then
17ce3adf43SDag-Erling Smørgrav	:
18ce3adf43SDag-Erling Smørgravelse
19ce3adf43SDag-Erling Smørgrav	echo "Unsupported private key format"
20ce3adf43SDag-Erling Smørgrav	exit 1
21ce3adf43SDag-Erling Smørgravfi
22ce3adf43SDag-Erling Smørgrav
23ce3adf43SDag-Erling Smørgravpublic_exponent=`
24*19261079SEd Maste	$OPENSSL_BIN rsa -noout -text -in $KEYFILE | grep ^publicExponent |
25ce3adf43SDag-Erling Smørgrav	sed 's/.*(//;s/).*//'
26ce3adf43SDag-Erling Smørgrav`
27ce3adf43SDag-Erling Smørgravtest $? -ne 0 && exit 1
28ce3adf43SDag-Erling Smørgrav
29ce3adf43SDag-Erling Smørgravmodulus=`
30*19261079SEd Maste	$OPENSSL_BIN rsa -noout -modulus -in $KEYFILE | grep ^Modulus= |
31ce3adf43SDag-Erling Smørgrav	sed 's/^Modulus=/0x/' | tr A-Z a-z
32ce3adf43SDag-Erling Smørgrav`
33ce3adf43SDag-Erling Smørgravtest $? -ne 0 && exit 1
34ce3adf43SDag-Erling Smørgrav
35ce3adf43SDag-Erling Smørgravecho "rsa2@$PORT:$HOST $public_exponent,$modulus"
36ce3adf43SDag-Erling Smørgrav
37