certs/Makefile: Add targets for any combination of already existing config, key file
authorKim Alvefur <zash@zash.se>
Wed, 23 Dec 2015 11:10:26 +0000 (12:10 +0100)
committerKim Alvefur <zash@zash.se>
Wed, 23 Dec 2015 11:10:26 +0000 (12:10 +0100)
certs/Makefile

index f3854c5f98b9b5143d654d933f4cb8c031d34628..6ffb6bd7cde78816053d7db7de84678c1620b3ec 100644 (file)
@@ -15,13 +15,46 @@ keysize=2048
 
 # To request a cert
 %.csr: %.cnf %.key
-       openssl req -new -key $(lastword $^) -out $@ -utf8 -config $(firstword $^)
+       openssl req -new -key $(lastword $^) \
+               -sha256 -utf8 -config $(firstword $^) -out $@
+
+%.csr: %.cnf
+       umask 0077 && touch $*.key
+       openssl req -new -newkey rsa:$(keysize) -nodes -keyout $*.key \
+               -sha256 -utf8 -config $^ -out $@
+       @chmod 400 $*.key -c
+
+%.csr: %.key
+       openssl req -new -key $^ -utf8 -subj /CN=$* -out $@
+
+%.csr:
+       umask 0077 && touch $*.key
+       openssl req -new -newkey rsa:$(keysize) -nodes -keyout $*.key \
+               -utf8 -subj /CN=$* -out $@
+       @chmod 400 $*.key -c
 
 # Self signed
 %.crt: %.cnf %.key
-       openssl req -new -x509 -nodes -key $(lastword $^) -days 365 \
-               -sha1 -out $@ -utf8 -config $(firstword $^)
+       openssl req -new -x509 -key $(lastword $^) -days 365 -sha256 -utf8 \
+               -config $(firstword $^) -out $@
+
+%.crt: %.cnf
+       umask 0077 && touch $*.key
+       openssl req -new -x509 -newkey rsa:$(keysize) -nodes -keyout $*.key \
+               -days 365 -sha256 -utf8 -config $(firstword $^) -out $@
+       @chmod 400 $*.key -c
+
+%.crt: %.key
+       openssl req -new -x509 -nodes -key $^ -days 365 \
+               -sha256 -out $@ -utf8 -config $(firstword $^)
+
+%.crt:
+       umask 0077 && touch $*.key
+       openssl req -new -x509 -newkey rsa:$(keysize) -nodes -keyout $*.key \
+               -days 365 -sha256 -out $@ -utf8 -subj /CN=$*
+       @chmod 400 $*.key -c
 
+# Generate a config from the example
 %.cnf:
        sed 's,example\.com,$*,g' openssl.cnf > $@