feat: verify signed launcher manifests

This commit is contained in:
emil28092005
2026-09-06 01:12:09 +03:00
parent ad98fb701d
commit 693330e7e8
4 changed files with 171 additions and 9 deletions
+16 -3
View File
@@ -1,8 +1,21 @@
# ShaCraft manifest v1
Каждая игровая сборка описывается одним JSON-документом. Лаунчер принимает
документ только после проверки подписи релизного ключа и затем валидирует эту
схему до начала загрузки.
Каждая игровая сборка описывается одним JSON-документом. API передаёт его в
Ed25519-конверте: `payload` — base64 от UTF-8 JSON, `signature` — подпись
точно этих байтов. Лаунчер принимает документ только после проверки
встроенного публичного релизного ключа и затем валидирует эту схему до начала
загрузки.
```json
{
"schemaVersion": 1,
"keyId": "2026-09-06",
"payload": "eyJkaXNwbGF5TmFtZSI6Ii4uLiJ9",
"signature": "base64-ed25519-signature"
}
```
После проверки и декодирования `payload` имеет следующий вид:
```json
{