1#!/bin/bash
2
3# Create default keys for the OpenDKIM Milter.
4
5# source function library
6#. /etc/rc.d/init.d/functions
7
8# Some functions to make the below more readable
9prog=opendkim
10KEYGEN=@sbindir@/$prog-genkey
11DKIM_SELECTOR=default
12DKIM_KEYDIR=@sysconfdir@/$prog/keys
13
14# Make some colors
15red='\033[1;31m'
16green='\033[1;32m'
17NC='\033[0m' # No Color
18
19# Pull in sysconfig settings (will override previously set functions)
20[ -f @sysconfdir@/sysconfig/$prog ] && . @sysconfdir@/sysconfig/$prog
21
22do_dkim_keygen() {
23        if [ ! -s $DKIM_KEYDIR/$DKIM_SELECTOR.private ]; then
24                echo -n $"Generating default DKIM keys: "
25                if [ "x`hostname --domain`" = "x" ]; then
26                        echo
27                        echo -e "${red}Cannot determine host's domain name, so skipping default key generation.${NC}"
28                else
29                        mkdir -p $DKIM_KEYDIR
30                        $KEYGEN -D $DKIM_KEYDIR -s $DKIM_SELECTOR -d `hostname --domain`
31                        chown -R root:$prog $DKIM_KEYDIR
32                        chmod 640 $DKIM_KEYDIR/$DKIM_SELECTOR.private
33                        chmod 644 $DKIM_KEYDIR/$DKIM_SELECTOR.txt
34                        echo
35                        echo -e "${green}Default DKIM keys for `hostname --domain` created in $DKIM_KEYDIR.${NC}"
36                fi
37	else
38		 echo -e "${red}Default DKIM keys already exist!${NC}"
39        fi
40}
41
42# Create keys
43
44do_dkim_keygen
45
46