Based on https://www.baeldung.com/java-https-client-certificate-authentication
Generate client & server certificate
cd cert
./generate-server.sh
./generate-client.sh
Check certificate generated in folder
ls -l cert/tmp-cert
total 24
-rw-rw-r-- 1 .... client-certificate.pem
-rw-rw-r-- 1 .... clientkeystore.p12
-rw-rw-r-- 1 .... clienttruststore.jks
-rw-rw-r-- 1 .... server-certificate.pem
-rw-rw-r-- 1 .... serverkeystore.p12
-rw-rw-r-- 1 .... servertruststore.jks
Build Java code
./gradlew clean build
Check tasks
./gradlew tasks
.
.
.
SSL Test tasks
--------------
runClient - run Client
runServer - run Server
.
.
Start Server
./gradlew runServer
.
.
######################
listening for messages...
Start Client
./gradlew runClient
.
.
######################
sending message: Hello World Message
client received 39 bytes: Hello World Message processed by server
.
Server terminal will display "server received 19 bytes: Hello World Message" after client call and exit.