57 lines
1.1 KiB
Makefile
57 lines
1.1 KiB
Makefile
CERT_DAYS=10000
|
|
COUNTRY=LT
|
|
DOMAIN=localhost
|
|
SERVE_REQUEST="./serve-request.sh"
|
|
|
|
|
|
.PHONY: default
|
|
default: server
|
|
|
|
|
|
### Server ---------------------------------------------------------------------
|
|
|
|
.PHONY: server
|
|
server: ncat-server
|
|
|
|
|
|
.PHONY: ncat-server
|
|
ncat-server: certs
|
|
ncat \
|
|
--listen --keep-open -p 1965 \
|
|
--ssl --ssl-cert "certs/${DOMAIN}.crt" --ssl-key "certs/${DOMAIN}.key" \
|
|
--exec ${SERVE_REQUEST}
|
|
|
|
|
|
.PHONY: socat-server
|
|
socat-server: certs
|
|
socat -d \
|
|
OPENSSL-LISTEN:1965,cert=certs/${DOMAIN}.crt,key=certs/${DOMAIN}.key,verify=0,reuseaddr,fork \
|
|
EXEC:${SERVE_REQUEST}
|
|
|
|
|
|
### Certificates ---------------------------------------------------------------
|
|
|
|
.PHONY: show-cert
|
|
show-cert:
|
|
openssl x509 -in "certs/${DOMAIN}.crt" -text
|
|
|
|
|
|
.PHONY: clean-certs
|
|
clean-certs:
|
|
rm -f "certs/${DOMAIN}"*
|
|
|
|
|
|
.PHONY: certs
|
|
certs: \
|
|
certs/${DOMAIN}.crt
|
|
|
|
|
|
certs/${DOMAIN}.crt: certs/${DOMAIN}.key
|
|
mkdir -p certs
|
|
echo -en ".\n.\n.\n.\n.\n${DOMAIN}\n.\n" | \
|
|
openssl req -x509 -key "certs/${DOMAIN}.key" -out "$@" -days ${CERT_DAYS} -nodes
|
|
|
|
certs/${DOMAIN}.key:
|
|
mkdir -p certs
|
|
openssl genrsa -out "$@" 4096
|