Software / code / prosody
Comparison
certs/GNUmakefile @ 8592:bd4f8a2b72c7
Rename Makefile -> GNUmakefile to reflect dependency on GNU Make
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 31 Oct 2017 17:28:23 +0100 |
| parent | 7715:certs/Makefile@08989f8464b9 |
comparison
equal
deleted
inserted
replaced
| 8591:0c322389f994 | 8592:bd4f8a2b72c7 |
|---|---|
| 1 .DEFAULT: localhost.crt | |
| 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.crt` | |
| 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 $^) \ | |
| 19 -sha256 -utf8 -config $(firstword $^) -out $@ | |
| 20 | |
| 21 %.csr: %.cnf | |
| 22 umask 0077 && touch $*.key | |
| 23 openssl req -new -newkey rsa:$(keysize) -nodes -keyout $*.key \ | |
| 24 -sha256 -utf8 -config $^ -out $@ | |
| 25 @chmod 400 $*.key | |
| 26 | |
| 27 %.csr: %.key | |
| 28 openssl req -new -key $^ -utf8 -subj /CN=$* -out $@ | |
| 29 | |
| 30 %.csr: | |
| 31 umask 0077 && touch $*.key | |
| 32 openssl req -new -newkey rsa:$(keysize) -nodes -keyout $*.key \ | |
| 33 -utf8 -subj /CN=$* -out $@ | |
| 34 @chmod 400 $*.key | |
| 35 | |
| 36 # Self signed | |
| 37 %.crt: %.cnf %.key | |
| 38 openssl req -new -x509 -key $(lastword $^) -days 365 -sha256 -utf8 \ | |
| 39 -config $(firstword $^) -out $@ | |
| 40 | |
| 41 %.crt: %.cnf | |
| 42 umask 0077 && touch $*.key | |
| 43 openssl req -new -x509 -newkey rsa:$(keysize) -nodes -keyout $*.key \ | |
| 44 -days 365 -sha256 -utf8 -config $(firstword $^) -out $@ | |
| 45 @chmod 400 $*.key | |
| 46 | |
| 47 %.crt: %.key | |
| 48 openssl req -new -x509 -key $^ -days 365 -sha256 -utf8 -subj /CN=$* -out $@ | |
| 49 | |
| 50 %.crt: | |
| 51 umask 0077 && touch $*.key | |
| 52 openssl req -new -x509 -newkey rsa:$(keysize) -nodes -keyout $*.key \ | |
| 53 -days 365 -sha256 -out $@ -utf8 -subj /CN=$* | |
| 54 @chmod 400 $*.key | |
| 55 | |
| 56 # Generate a config from the example | |
| 57 %.cnf: | |
| 58 sed 's,example\.com,$*,g' openssl.cnf > $@ | |
| 59 | |
| 60 %.key: | |
| 61 umask 0077 && openssl genrsa -out $@ $(keysize) | |
| 62 @chmod 400 $@ | |
| 63 | |
| 64 # Generate Diffie-Hellman parameters | |
| 65 dh-%.pem: | |
| 66 openssl dhparam -out $@ $* |