| 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 $@ |