File: Makefile

package info (click to toggle)
libpgjava 42.2.15-1%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 5,976 kB
  • sloc: java: 62,136; xml: 159; makefile: 63; sh: 16
file content (69 lines) | stat: -rw-r--r-- 3,068 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
ROOT_CA_PASSWORD=ssl_ca_pwd
PK8_PASSWORD=sslpwd
P12_PASSWORD=sslpwd
SERVER_CRT_DIR=server/

all : $(SERVER_CRT_DIR)root.key $(SERVER_CRT_DIR)root.crt $(SERVER_CRT_DIR)server.crt goodroot.crt goodclient badclient

goodclient: goodclient.crt goodclient.pk8 goodclient.p12

badclient: badclient.crt badclient.pk8 badclient.p12

.PHONY: clean
clean:
	@echo Removing certificate files
	@rm -f *.crt *.key *.csr *.srl *.p12 *.pk8
	@rm -rf $(SERVER_CRT_DIR)*.crt $(SERVER_CRT_DIR)*.key $(SERVER_CRT_DIR)*.csr $(SERVER_CRT_DIR)*.srl $(SERVER_CRT_DIR)*.p12 $(SERVER_CRT_DIR)*.pk8
	@echo

%.pk8 : %.key
	@echo Exporting key $@
	openssl pkcs8 -topk8 -in $< -out $@ -outform DER -v1 PBE-MD5-DES -passout pass:$(PK8_PASSWORD)

%.p12 : %.crt
	@echo Exporting certificate $@
	openssl pkcs12 -export -in $< -inkey $*.key -out $@ -name user -CAfile $(SERVER_CRT_DIR)root.crt -caname local -passout pass:$(P12_PASSWORD)

%root.key :
	@echo Generating CA key $@
	mkdir -p $(*D)
	openssl genrsa -aes256 -passout pass:$(ROOT_CA_PASSWORD) -out $@ 4096
	@echo

goodroot.crt : $(SERVER_CRT_DIR)
	cp $(SERVER_CRT_DIR)root.crt goodroot.crt

%root.crt : %root.key
	@echo Creating root certificate $@
	openssl req -x509 -new -nodes -key $< -passin pass:$(ROOT_CA_PASSWORD) -sha256 -days 1024 -out $@ -subj "/C=US/ST=CA/O=PgJdbc test/CN=root certificate"
	@echo


$(SERVER_CRT_DIR)server.crt : $(SERVER_CRT_DIR)root.key $(SERVER_CRT_DIR)root.crt
	$(eval $@_CERT_FILE := $(SERVER_CRT_DIR)server)
	@echo Creating good client certificate $@
	openssl genrsa -out $($@_CERT_FILE).key 2048
	openssl req -new -sha256 -key $($@_CERT_FILE).key -passin pass:$(ROOT_CA_PASSWORD) -subj "/C=US/ST=CA/O=PgJdbc tests/CN=localhost" -out $($@_CERT_FILE).csr
	openssl x509 -req -in $($@_CERT_FILE).csr -CA $(SERVER_CRT_DIR)root.crt -CAkey $(SERVER_CRT_DIR)root.key -passin pass:$(ROOT_CA_PASSWORD) -CAcreateserial -out $($@_CERT_FILE).crt -days 500 -sha256
	@rm $($@_CERT_FILE).csr
	@echo

goodclient.crt goodclient.key : $(SERVER_CRT_DIR)root.key $(SERVER_CRT_DIR)root.crt
	$(eval $@_CERT_FILE := goodclient)
	@echo Creating good client certificate $@
	openssl genrsa -out $($@_CERT_FILE).key 2048
	# CN=test has to match user name
	openssl req -new -sha256 -key $($@_CERT_FILE).key -subj "/C=US/ST=CA/O=PgJdbc tests/CN=test" -out $($@_CERT_FILE).csr
	openssl x509 -req -in $($@_CERT_FILE).csr -CA $(SERVER_CRT_DIR)root.crt -CAkey $(SERVER_CRT_DIR)root.key -passin pass:$(ROOT_CA_PASSWORD) -CAcreateserial -out $($@_CERT_FILE).crt -days 500 -sha256
	@rm $($@_CERT_FILE).csr
	@echo

badclient.crt badclient.key : badroot.key badroot.crt
	$(eval $@_CERT_FILE := badclient)
	@echo Creating bad client certificate $@
	openssl genrsa -out $($@_CERT_FILE).key 2048
	# CN=test has to match user name
	openssl req -new -sha256 -key $($@_CERT_FILE).key -subj "/C=US/ST=CA/O=PgJdbc tests/CN=test" -out $($@_CERT_FILE).csr
	openssl x509 -req -in $($@_CERT_FILE).csr -CA badroot.crt -CAkey badroot.key -passin pass:$(ROOT_CA_PASSWORD) -CAcreateserial -out $($@_CERT_FILE).crt -days 500 -sha256
	@rm $($@_CERT_FILE).csr
	@echo