Ключи проверки электронной подписи Арендодателя
Документы, оформляемые в информационной системе ООО «ТРАСТ ПАРК», подписываются электронной подписью Арендодателя по алгоритму Ed25519. Подпись создаётся автоматически в той же операции, что и подпись Арендатора.
Ниже — все ключи, которыми когда-либо подписывались документы. Каждый документ проверяется тем ключом, идентификатор которого указан в отметке о подписи. Окончание действия ключа не лишает силы документы, подписанные, пока он действовал. Принадлежность ключа определяется по отпечатку SHA-256, где бы ключ ни был опубликован. Тот же реестр для программ: signing-keys.json.
Ключ d9a95c95f56d1962 — действующий
Алгоритм: ed25519
Отпечаток SHA-256: d9a95c95f56d1962d60e3c544525d5f3bc73d4c085fbb7cf4878f57d801c5f3e
Действует с 23.10.2026 20:13:28 МСК (UTC+03:00)
rcARjTlNtrsRqiEQrx2MI3ebGEON+wTmYyO0nzsilHE=
Как проверить подпись
Проверка выполняется по пакету доказательств, без обращения к Арендодателю. В пакете и во вложениях PDF подписанного документа лежат два файла: canonical.txt — текст документа, и manifest.json — манифест подписания, над которым стоит подпись Арендодателя. Значение подписи целиком — в файле signatures.json пакета доказательств и в протоколе подписания; в отметке на последней странице документа оно напечатано в сокращённом виде.
- Посчитайте SHA-256 файла canonical.txt и сравните его со значением text_sha256 в manifest.json.
- Проверьте подпись над файлом manifest.json (над его байтами, без изменений) открытым ключом с идентификатором key_id из манифеста и из отметки о подписи.
- Сверьте отпечаток SHA-256 этого ключа с отпечатком в отметке о подписи и в реестре на этой странице.
Подойдёт любая программа, поддерживающая Ed25519, например:
python3 - <<'EOF'
import base64, hashlib, json
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKey
manifest = open("manifest.json", "rb").read()
text = open("canonical.txt", "rb").read()
assert hashlib.sha256(text).hexdigest() == json.loads(manifest)["text_sha256"]
pub = base64.b64decode(PUBLIC_KEY) # открытый ключ с этой страницы
print("отпечаток:", hashlib.sha256(pub).hexdigest())
Ed25519PublicKey.from_public_bytes(pub).verify(base64.b64decode(SIGNATURE), manifest)
print("подпись верна") # при неверной подписи будет исключение
EOF
Документы, подписанные раньше
В документах, подписанных до перехода на манифест, файла manifest.json нет: подпись
Арендодателя стоит над самим текстом документа. Проверка та же, но вместо манифеста
подписи передаётся текст: verify(base64.b64decode(SIGNATURE), text). Неизменность
текста дополнительно подтверждается значением SHA-256 в отметке о подписании.
ООО «ТРАСТ ПАРК», ИНН 7805823708, ОГРН 1257800054610, 198096, г. Санкт-Петербург, ул. Зайцева, д. 9, лит. А, кв. 6. Контакт по вопросам персональных данных: tech@trust-park.ru.