Підпис пакета
Ключ Ed25519, контрольна сума SHA-256 і що саме перевіряється.
Кожен пакет підписує його розробник власним ключем Ed25519. Tobto.shop зберігає лише ваш публічний ключ і прив’язує його до вашої компанії — пакет, підписаний чужим ключем, не пройде.
- Згенеруйте пару ключів: openssl genpkey -algorithm ed25519 -out private-key.pem, потім openssl pkey -in private-key.pem -pubout -out public-key.pem.
- Надішліть у підтримку лише public-key.pem і назву ключа (key_id). Приватний ключ нікому не передавайте й не комітьте в репозиторій.
- Підписуйте кожну збірку пакувальником: він рахує SHA-256 фінального ZIP і підписує його.
У JSON публікації з’являються два поля:
"package_checksum": "<sha256 ZIP у нижньому регістрі, 64 символи>",
"signature": {"algorithm": "Ed25519", "key_id": "my-key-id", "value": "<base64url без =, 86 символів>"} - Ключ key_id зареєстровано для вашої компанії й дозволено для заявленого trust_level.
- SHA-256 завантаженого ZIP збігається з package_checksum.
- JSON публікації (без підпису й контрольної суми) збігається з extension.json, theme.json або language-pack.json в архіві.
- Код, версія й сумісність у формі подання збігаються з маніфестом.
Будь-яка зміна архіву після підпису — навіть перепакування тих самих файлів — змінює SHA-256, і підпис стає недійсним. Збирайте й підписуйте один раз, подавайте саме цей ZIP.