feat: verify signed launcher manifests
This commit is contained in:
+16
-3
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user