Shell script for key generation.
[shibboleth/sp.git] / configs / keygen.sh
1 #! /bin/sh\r
2 \r
3 while getopts h:y:b c\r
4      do\r
5          case $c in\r
6            b)         BATCH=1;;\r
7            h)         FQDN=$OPTARG;;\r
8            y)         DAYS=$OPTARG;;\r
9            \?)        echo keygen [-h hostname/cn for cert] [-y years to issue cert]\r
10                       exit 1;;\r
11          esac\r
12      done\r
13 \r
14 if  [ -e sp-key.pem ] || [ -e sp-cert.pem ] ; then\r
15     if [ -z $BATCH ] ; then  \r
16         echo The files sp-key.pem and/or sp-cert.pem already exist!\r
17         exit 2\r
18     fi\r
19     exit 0\r
20 fi\r
21 \r
22 if [ -z $FQDN ] ; then\r
23     FQDN=`hostname`\r
24 fi\r
25 \r
26 if [ -z $DAYS ] ; then\r
27     DAYS=10\r
28 fi\r
29 \r
30 DAYS=$(($DAYS*365))\r
31 \r
32 openssl req -x509 -days $DAYS -newkey rsa:2048 -nodes -keyout sp-key.pem -out sp-cert.pem -subj /CN=$FQDN -extensions usr_cert -set_serial 0\r