#!/bin/sh # author: itsme@xs4all.nl bits=$1 if [ -z $bits ]; then echo "Usage: create_new_key.sh nr_of_bits [keyfilename]" echo " default: public key: key.pub" echo " private key: key.pvk" exit 1 fi keybasename=$2 if [ -z $keybasename ]; then keybasename=key keybasename=`echo $keybasename|sed "s/\.[a-z]*$//"` fi # generate a rsa key ( needs to be more than 256 bits ) openssl genrsa -f4 -out $keybasename.pvk $bits # extract the pubkey, exponent, and priv key. pq=`openssl asn1parse -in $keybasename.pvk | awk "NR==3"|cut -d: -f4` e=`openssl asn1parse -in $keybasename.pvk | awk "NR==4"|cut -d: -f4` if [ $e != "010001" ]; then echo error generating key, unexpected e value : $e exit 1 fi echo $pq > $keybasename.pub