Skip to content
Snippets Groups Projects
Select Git revision
  • 2acecc6b0780f682f81dc33d7123d3853387842c
  • master default
2 results

requirements.txt

Blame
  • This project manages its dependencies using pip. Learn more
    Makefile 3.09 KiB
    .PHONY: test clean
    
    .testcerts:
    	mkdir -p .testcerts
    
    .testcerts/serial: .testcerts
    	echo 1000 > .testcerts/serial
    
    .testcerts/root.key: .testcerts
    	openssl genrsa -out .testcerts/root.key 4096
    
    .testcerts/root.crt: .testcerts/root.key
    	openssl req -new -x509 -days 7 -key .testcerts/root.key -nodes -out .testcerts/root.crt -subj /C=US/ST=State/L=City/O=RootCA/OU=Unit/CN=localhost/emailAddress=none@nowhere.com
    
    .testcerts/intermediate1.key: .testcerts
    	openssl genrsa -out .testcerts/intermediate1.key 4096
    
    .testcerts/intermediate1.csr: .testcerts/intermediate1.key
    	openssl req -new -key .testcerts/intermediate1.key -out .testcerts/intermediate1.csr -subj /C=US/ST=State/L=City/O=FirstIntermediate/OU=Unit/CN=localhost/emailAddress=none@nowhere.com
    
    .testcerts/intermediate1.crt: .testcerts/intermediate1.csr .testcerts/root.key .testcerts/root.crt .testcerts/serial
    	openssl x509 -req -days 7 -in .testcerts/intermediate1.csr -out .testcerts/intermediate1.crt -CAkey .testcerts/root.key -CA .testcerts/root.crt -CAserial .testcerts/serial
    
    .testcerts/intermediate2.key: .testcerts
    	openssl genrsa -out .testcerts/intermediate2.key 4096
    
    .testcerts/intermediate2.csr: .testcerts/intermediate2.key
    	openssl req -new -key .testcerts/intermediate2.key -out .testcerts/intermediate2.csr -subj /C=US/ST=State/L=City/O=SecondIntermediate/OU=Unit/CN=localhost/emailAddress=none@nowhere.com
    
    .testcerts/intermediate2.crt: .testcerts/intermediate2.csr .testcerts/intermediate1.key .testcerts/serial .testcerts/intermediate1.crt
    	openssl x509 -req -days 7 -in .testcerts/intermediate2.csr -out .testcerts/intermediate2.crt -CAkey .testcerts/intermediate1.key -CA .testcerts/intermediate1.crt -CAserial .testcerts/serial
    
    .testcerts/server.key: .testcerts
    	openssl genrsa -out .testcerts/server.key 4096
    
    .testcerts/server.csr: .testcerts/server.key
    	openssl req -new -key .testcerts/server.key -out .testcerts/server.csr -subj /C=US/ST=State/L=City/O=Server/OU=Unit/CN=localhost/emailAddress=none@nowhere.com
    	
    .testcerts/server.crt: .testcerts/intermediate2.key .testcerts/server.csr .testcerts/serial .testcerts/intermediate2.crt
    	openssl x509 -req -days 7 -in .testcerts/server.csr -out .testcerts/server.crt -CAkey .testcerts/intermediate2.key -CA .testcerts/intermediate2.crt -CAserial .testcerts/serial
    	
    .testcerts/intermediates.crt: .testcerts/intermediate1.crt .testcerts/intermediate2.crt
    	cat .testcerts/intermediate1.crt .testcerts/intermediate2.crt > .testcerts/intermediates.crt
    
    .testcerts/bundle.crt: .testcerts/intermediates.crt .testcerts/server.crt
    	./bundle_certs .testcerts/* > .testcerts/bundle.crt
    
    test: .testcerts/bundle.crt .testcerts/root.crt .testcerts/server.key
    	openssl s_server -cert .testcerts/bundle.crt -key .testcerts/server.key -quiet -www -no_dhe & echo "$$!" > .server.pid
    	test "$$(curl --fail --cacert .testcerts/root.crt --write-out '%{ssl_verify_result}' --silent --output /dev/null https://localhost:4433)" = "0"
    	if [ -f .server.pid ] && [ -d "/proc/$$(cat .server.pid)" ]; then kill "$$(cat .server.pid)"; fi
    	rm -f .server.pid
    
    clean:
    	- kill "$$(cat .server.pid)"
    	git clean -fdx
    
    test_source:
    	/bin/sh -c '. ./bundle_certs'