springboot-asymmetric-cryptography

Spring Boot Java Application with asymmetric cryptography : private * public key

View on GitHub

springboot-asymmetric-cryptography

Java - Spring Boot application with asymmetric encryption including a sample html client for test/debug.

Summary about asymmetric encryption

Asymmetric Encryption is a form of Encryption where keys come in pairs. What one key encrypts, only the other can decrypt. Frequently (but not necessarily), the keys are interchangeable, in the sense that if key A encrypts a message, then B can decrypt it, and if key B encrypts a message, then key A can decrypt it.

Build system

[Maven] (https://maven.apache.org/)

Setup

Maven dependecies install mvn clean install

Run

mvn spring-boot:run or use your favourite IDE and run as maven application
By default Application will start on localhost:8080

Use

Once you start your application (client with login screen - localhost:8080) it will call localhost:8080/key?appId=<some app id> and receive public key where server maintaines its private key. Now once you submit userid/password it actually encrypts them by using client public key.