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