certs/Makefile

1
.DEFAULT: localhost.cert
2
keysize=2048
3
 
4
# How to:
5
# First, `make yourhost.cnf` which creates a openssl config file.
6
# Then edit this file and fill in the details you want it to have,
7
# and add or change hosts and components it should cover.
8
# Then `make yourhost.key` to create your private key, you can
9
# include keysize=number to change the size of the key.
10
# Then you can either `make yourhost.csr` to generate a certificate
11
# signing request that you can submit to a CA, or `make yourhost.cert`
12
# to generate a self signed certificate.
13
 
14
.PRECIOUS: %.cnf %.key
15
 
16
# To request a cert
17
%.csr: %.cnf %.key
18
	openssl req -new -key $(lastword $^) -out $@ -utf8 -config $(firstword $^)
19
 
20
# Self signed
21
%.cert: %.cnf %.key
22
	openssl req -new -x509 -nodes -key $(lastword $^) -days 365 \
23
		-sha1 -out $@ -utf8 -config $(firstword $^)
24
 
25
%.cnf:
26
	sed 's,example\.com,$*,g' openssl.cnf > $@
27
 
28
%.key:
29
	openssl genrsa $(keysize) > $@
30
	@chmod 400 $@