Update README.md

This commit is contained in:
Asma committed 2026-04-06 11:44:59 +02:00
1 parent ced3d28eae
commit ac9d1b2ffb
1 file changed
+107 -1
+107 -1
View File
@@ -1 +1,107 @@
TRIZ SECURITY COMMON
# TrizTech Security JWT Library
![Java](https://img.shields.io/badge/Java-8%2B-blue) ![JWT](https://img.shields.io/badge/JWT-RS256-green) ![JJWT](https://img.shields.io/badge/JJWT-0.12.x-orange) ![Version](https://img.shields.io/badge/version-1.0.0-success)
Internal Java library dedicated to the **generation** and **validation** of **JWT** tokens signed with **RSA (RS256)**, intended to be shared across applications within the **TrizTech** ecosystem.
---
## 1. Overview
`TrizTech Security JWT Library` is a utility Java library that allows you to:
- **generate** JWT tokens signed with **RS256**
- **validate** JWT tokens using an **RSA public key**
- **load** RSA keys from **PEM** format
---
## 2. Use Cases in the TrizTech Ecosystem
### Related Applications
- **auth-triz** — holds the **RSA private key** and generates JWT tokens
- **trizstock** — holds the **RSA public key** and validates tokens
- **trizdistribution** — holds the **RSA public key** and validates tokens
> This approach ensures that **only auth-triz can sign** tokens. The other applications can only verify them.
---
## 3. Features
- JWT generation signed with **RSA / RS256**
- JWT validation using an **RSA public key**
- Loading **private** and **public** RSA keys from PEM files
- Support for **custom claims**
- Simple API with `static` methods
- Compatible with **Java EE / Spring (non-Spring Boot)**
---
## 4. Project Structure
| Class | Role |
|--------|------|
| `JwtUtils` | JWT token generation and validation |
| `KeyLoader` | RSA key loading from PEM files |
---
## 5. Requirements
- Java 8+ (recommended: Java 17)
- JJWT 0.12.x
- Valid RSA keys in PEM format
---
## 6. Generate RSA Key Pair with OpenSSL
### 1) Generate the private key
Run this command in Terminal / Git Bash / PowerShell:
```bash
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
```
This creates:
* private_key.pem
Example format:
```xml
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBK...
-----END PRIVATE KEY-----
```
This is exactly the format your **KeyLoader.loadPrivateKey(...)** expects:
* header: -----BEGIN PRIVATE KEY-----
### 2) Generate the public key from the private key
```xml
openssl rsa -pubout -in private_key.pem -out public_key.pem
```
This creates:
* public_key.pem
Example format:
```xml
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgK...
-----END PUBLIC KEY-----
```
This is exactly the format your **KeyLoader.loadPublicKey(...)** expects:
* header: -----BEGIN PUBLIC KEY-----
---
## 7. Auteur
Developed for the **TrizTech ecosystem** — to centralize and share JWT logic between `auth-triz`, `trizstock`, and `trizdistribution`.