66 lines
1.3 KiB
Markdown
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).
|