#!/bin/sh

BITS=384
if [ -z "$1" ]; then
	echo >&2 "Usage: dknewkey keyfile [bits]"
	exit 1
fi
tmpfile=$(mktemp ${TMPDIR:-/tmp}/dknewkeyXXXXXX) || exit 1
if test -n "$2"; then BITS=$2; fi

openssl genrsa -out $1 $BITS 2>/dev/null
openssl rsa -in $1 -out $tmpfile -pubout -outform PEM 2>/dev/null
if test -f /usr/bin/tinydns-data; then
  printf "'%s._domainkey.example.com:k=rsa; p=%s\n" `basename -- $1` `grep -v ^-- $tmpfile | tr -d '\n'`
else
  printf "%s._domainkey\tIN\tTXT\t\"k=rsa; p=%s\"\n" `basename -- $1` `grep -v ^-- $tmpfile | tr -d '\n'`
fi
rm -f $tmpfile
