|
cvsdist |
e21e184 |
.PHONY: usage
|
|
cvsdist |
e21e184 |
.SUFFIXES: .key .csr .crt .pem
|
|
cvsdist |
e21e184 |
.PRECIOUS: %.key %.csr %.crt %.pem
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
usage:
|
|
cvsdist |
e21e184 |
@echo "This makefile allows you to create:"
|
|
cvsdist |
e21e184 |
@echo " o public/private key pairs"
|
|
cvsdist |
e21e184 |
@echo " o SSL certificate signing requests (CSRs)"
|
|
cvsdist |
e21e184 |
@echo " o self-signed SSL test certificates"
|
|
cvsdist |
e21e184 |
@echo
|
|
cvsdist |
e21e184 |
@echo "To create a key pair, run \"make SOMETHING.key\"."
|
|
cvsdist |
e21e184 |
@echo "To create a CSR, run \"make SOMETHING.csr\"."
|
|
cvsdist |
e21e184 |
@echo "To create a test certificate, run \"make SOMETHING.crt\"."
|
|
cvsdist |
e21e184 |
@echo "To create a key and a test certificate in one file, run \"make SOMETHING.pem\"."
|
|
cvsdist |
e21e184 |
@echo
|
|
cvsdist |
e21e184 |
@echo "To create a key for use with Apache, run \"make genkey\"."
|
|
cvsdist |
e21e184 |
@echo "To create a CSR for use with Apache, run \"make certreq\"."
|
|
cvsdist |
e21e184 |
@echo "To create a test certificate for use with Apache, run \"make testcert\"."
|
|
cvsdist |
e21e184 |
@echo
|
|
cvsdist |
e21e184 |
@echo Examples:
|
|
cvsdist |
e21e184 |
@echo " make server.key"
|
|
cvsdist |
e21e184 |
@echo " make server.csr"
|
|
cvsdist |
e21e184 |
@echo " make server.crt"
|
|
cvsdist |
e21e184 |
@echo " make stunnel.pem"
|
|
cvsdist |
e21e184 |
@echo " make genkey"
|
|
cvsdist |
e21e184 |
@echo " make certreq"
|
|
cvsdist |
e21e184 |
@echo " make testcert"
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
%.pem:
|
|
cvsdist |
e21e184 |
umask 77 ; \
|
|
cvsdist |
e21e184 |
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
|
|
cvsdist |
e21e184 |
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
|
|
cvsdist |
e21e184 |
/usr/bin/openssl req -newkey rsa:1024 -keyout $$PEM1 -nodes -x509 -days 365 -out $$PEM2 ; \
|
|
cvsdist |
e21e184 |
cat $$PEM1 > $@ ; \
|
|
cvsdist |
e21e184 |
echo "" >> $@ ; \
|
|
cvsdist |
e21e184 |
cat $$PEM2 >> $@ ; \
|
|
cvsdist |
e21e184 |
$(RM) $$PEM1 $$PEM2
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
%.key:
|
|
cvsdist |
e21e184 |
umask 77 ; \
|
|
cvsdist |
e21e184 |
/usr/bin/openssl genrsa -des3 1024 > $@
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
%.csr: %.key
|
|
cvsdist |
e21e184 |
umask 77 ; \
|
|
cvsdist |
e21e184 |
/usr/bin/openssl req -new -key $^ -out $@
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
%.crt: %.key
|
|
cvsdist |
e21e184 |
umask 77 ; \
|
|
cvsdist |
e21e184 |
/usr/bin/openssl req -new -key $^ -x509 -days 365 -out $@
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
KEY=/etc/httpd/conf/ssl.key/server.key
|
|
cvsdist |
e21e184 |
CSR=/etc/httpd/conf/ssl.csr/server.csr
|
|
cvsdist |
e21e184 |
CRT=/etc/httpd/conf/ssl.crt/server.crt
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
genkey: $(KEY)
|
|
cvsdist |
e21e184 |
certreq: $(CSR)
|
|
cvsdist |
e21e184 |
testcert: $(CRT)
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
$(CSR): $(KEY)
|
|
cvsdist |
e21e184 |
umask 77 ; \
|
|
cvsdist |
e21e184 |
/usr/bin/openssl req -new -key $(KEY) -out $(CSR)
|
|
cvsdist |
e21e184 |
|
|
cvsdist |
e21e184 |
$(CRT): $(KEY)
|
|
cvsdist |
e21e184 |
umask 77 ; \
|
|
cvsdist |
e21e184 |
/usr/bin/openssl req -new -key $(KEY) -x509 -days 365 -out $(CRT)
|