Browse Source

dovecot ca name alteration

Bob Mottram 9 years ago
parent
commit
c1afe00074
2 changed files with 20 additions and 11 deletions
  1. 5
    5
      src/freedombone
  2. 15
    6
      src/freedombone-addcert

+ 5
- 5
src/freedombone View File

@@ -5683,12 +5683,12 @@ function configure_imap_client_certs {
5683 5683
     echo '}' >> /etc/dovecot/conf.d/10-auth.conf
5684 5684
   fi
5685 5685
   # make a CA cert
5686
-  if [ ! -f /etc/ssl/private/dovecot-ca.key ]; then
5687
-      freedombone-addcert -h dovecot-ca --ca
5686
+  if [ ! -f /etc/ssl/private/ca-$DEFAULT_DOMAIN_NAME.key ]; then
5687
+      freedombone-addcert -h $DEFAULT_DOMAIN_NAME --ca
5688 5688
   fi
5689 5689
   # CA configuration
5690 5690
   echo '[ ca ]' > /etc/ssl/dovecot-ca.cnf
5691
-  echo 'default_ca = dovecot-ca' >> /etc/ssl/dovecot-ca.cnf
5691
+  echo "default_ca = dovecot-ca" >> /etc/ssl/dovecot-ca.cnf
5692 5692
   echo '' >> /etc/ssl/dovecot-ca.cnf
5693 5693
   echo '[ crl_ext ]' >> /etc/ssl/dovecot-ca.cnf
5694 5694
   echo 'authorityKeyIdentifier=keyid:always' >> /etc/ssl/dovecot-ca.cnf
@@ -5696,9 +5696,9 @@ function configure_imap_client_certs {
5696 5696
   echo '[ dovecot-ca ]' >> /etc/ssl/dovecot-ca.cnf
5697 5697
   echo 'new_certs_dir = .' >> /etc/ssl/dovecot-ca.cnf
5698 5698
   echo 'unique_subject = no' >> /etc/ssl/dovecot-ca.cnf
5699
-  echo 'certificate = /etc/ssl/certs/dovecot-ca.crt' >> /etc/ssl/dovecot-ca.cnf
5699
+  echo "certificate = /etc/ssl/certs/ca-$DEFAULT_DOMAIN_NAME.crt" >> /etc/ssl/dovecot-ca.cnf
5700 5700
   echo 'database = ssldb' >> /etc/ssl/dovecot-ca.cnf
5701
-  echo 'private_key = /etc/ssl/private/dovecot-ca.key' >> /etc/ssl/dovecot-ca.cnf
5701
+  echo "private_key = /etc/ssl/private/ca-$DEFAULT_DOMAIN_NAME.key" >> /etc/ssl/dovecot-ca.cnf
5702 5702
   echo 'serial = sslserial' >> /etc/ssl/dovecot-ca.cnf
5703 5703
   echo 'default_days = 3650' >> /etc/ssl/dovecot-ca.cnf
5704 5704
   echo 'default_md = sha256' >> /etc/ssl/dovecot-ca.cnf

+ 15
- 6
src/freedombone-addcert View File

@@ -91,6 +91,7 @@ case $key in
91 91
     ;;
92 92
     --ca)
93 93
     EXTENSIONS="-extensions v3_ca"
94
+    ORGANISATION="Freedombone-CA"
94 95
     ;;
95 96
     --nodh)
96 97
     NODH="true"
@@ -112,13 +113,21 @@ if ! which openssl > /dev/null ;then
112 113
     exit 5689
113 114
 fi
114 115
 
115
-openssl req -x509 $EXTENSIONS -nodes -days 3650 -sha256 -subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" -newkey rsa:4096 -keyout /etc/ssl/private/$HOSTNAME.key -out /etc/ssl/certs/$HOSTNAME.crt
116
+CERTFILE=$HOSTNAME
117
+if [[ $EXTENSIONS != "" ]]; then
118
+	CERTFILE="ca-$HOSTNAME"
119
+fi
120
+
121
+openssl req -x509 $EXTENSIONS -nodes -days 3650 -sha256 \
122
+		-subj "/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME" \
123
+		-newkey rsa:4096 -keyout /etc/ssl/private/$CERTFILE.key \
124
+		-out /etc/ssl/certs/$HOSTNAME.crt
116 125
 if [ ! $NODH ]; then
117
-    openssl dhparam -check -text -5 1024 -out /etc/ssl/certs/$HOSTNAME.dhparam
126
+    openssl dhparam -check -text -5 1024 -out /etc/ssl/certs/$CERTFILE.dhparam
118 127
 fi
119
-chmod 400 /etc/ssl/private/$HOSTNAME.key
120
-chmod 640 /etc/ssl/certs/$HOSTNAME.crt
121
-chmod 640 /etc/ssl/certs/$HOSTNAME.dhparam
128
+chmod 400 /etc/ssl/private/$CERTFILE.key
129
+chmod 640 /etc/ssl/certs/$CERTFILE.crt
130
+chmod 640 /etc/ssl/certs/$CERTFILE.dhparam
122 131
 
123 132
 if [ -f /etc/init.d/nginx ]; then
124 133
   /etc/init.d/nginx reload
@@ -129,7 +138,7 @@ fi
129 138
 if [ ! -d /etc/ssl/mycerts ]; then
130 139
   mkdir /etc/ssl/mycerts
131 140
 fi
132
-cp /etc/ssl/certs/$HOSTNAME.crt /etc/ssl/mycerts
141
+cp /etc/ssl/certs/$CERTFILE.crt /etc/ssl/mycerts
133 142
 
134 143
 # Create a bundle of your certificates
135 144
 cat /etc/ssl/mycerts/*.crt > /etc/ssl/freedombone-bundle.crt