62 lines
1.4 KiB
Bash
Executable File
62 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Usage: astgenkey [ -q ] [ -n ] [keyname]
|
|
#
|
|
DES3=-des3
|
|
if [ "$1" = "-q" ]; then
|
|
QUIET='y'
|
|
if [ "$2" = "-n" ]; then
|
|
DES3=
|
|
KEY=$3
|
|
else
|
|
KEY=$2
|
|
fi
|
|
elif [ "$1" = "-n" ]; then
|
|
DES3=
|
|
if [ "$2" = "-q" ]; then
|
|
QUIET='y'
|
|
KEY=$3
|
|
else
|
|
KEY=$2
|
|
fi
|
|
else
|
|
KEY=$1
|
|
fi
|
|
|
|
if [ "$QUIET" != 'y' ]; then
|
|
echo ""
|
|
echo "This script generates an RSA private and public key pair"
|
|
echo "in PEM format for use by Asterisk. You will be asked to"
|
|
echo "enter a passcode for your key multiple times. Please"
|
|
echo "enter the same code each time. The resulting files will"
|
|
echo "need to be moved to /var/lib/asterisk/keys if you want"
|
|
echo "to use them, and any private keys (.key files) will"
|
|
echo "need to be initialized at runtime either by running"
|
|
echo "Asterisk with the '-i' option, or with the 'keys init'"
|
|
echo "command once Asterisk is running."
|
|
echo ""
|
|
echo "Press ENTER to continue or ^C to cancel."
|
|
read BLAH
|
|
fi
|
|
|
|
while [ "$KEY" = "" ]; do
|
|
echo -n "Enter key name: "
|
|
read KEY
|
|
done
|
|
|
|
rm -f ${KEY}.key ${KEY}.pub
|
|
|
|
echo "Generating SSL key '$KEY': "
|
|
openssl genrsa -out ${KEY}.key ${DES3} 1024
|
|
openssl rsa -in ${KEY}.key -pubout -out ${KEY}.pub
|
|
|
|
if [ -f "${KEY}.key" ] && [ -f "${KEY}.pub" ]; then
|
|
if [ "$QUIET" != 'y' ]; then
|
|
echo "Key creation successful."
|
|
echo "Public key: ${KEY}.pub"
|
|
echo "Private key: ${KEY}.key"
|
|
fi
|
|
else
|
|
echo "Unknown error creating keys."
|
|
fi
|