Files
Netis---JWT-naloga/README.md
2026-03-12 20:09:16 +01:00

66 lines
1.3 KiB
Markdown

# Netis testna naloga
Go aplikacija z REST API za upravljanje bitnih status list, JWS (ES256) podpisovanjem in PostgreSQL shrambo.
## Zagon
```bash
docker compose up --build
```
API: `http://localhost:8000`
## Hitri API primeri
Ustvari novo status listo:
```bash
curl -X POST http://localhost:8000/api/status
```
Dodaj nov status v listo:
```bash
curl -X POST http://localhost:8000/api/status/<statusId>
```
Nastavi status na `true`:
```bash
curl -X PUT http://localhost:8000/api/status/<statusId>/<index>
```
Nastavi status na `false`:
```bash
curl -X DELETE http://localhost:8000/api/status/<statusId>/<index>
```
Vrni podpisan JWS:
```bash
curl http://localhost:8000/api/status/<statusId>/<index>
```
## Ustavitev
```bash
docker compose down
```
## Narejeno
- ECDSA P-256 ključ v PEM, podpis in verifikacija (Base64URL podpis).
- Bitna status struktura na `[]byte` + `encodedList` (`base64(gzip(byteArray))`).
- REST API iz naloge 3.
- JWS compact JWT z JWK headerjem pri `GET /api/status/:statusId/:index`.
- Shramba list v PostgreSQL.
- BONUS a: odjemalec za GET + verifikacijo JWS + vrnitev bool statusa.
- BONUS c: enkripcija seznamov v bazi (AES-GCM).
- Testi za ključne pakete (`crypto`, `statuslist`, `jws`, `httpapi`, `client`).
- Docker (`Dockerfile`) in `docker-compose.yml`.
## Ni vključeno
- BONUS b (avtorizacija za PUT/POST/DELETE).