Initial
This commit is contained in:
65
README.md
Normal file
65
README.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user