feat: экспорт документов в .sig v2.0 + manifest.json (верификатор) #65
Reference in New Issue
Block a user
Delete Branch "feat/sig-v2-export"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что
Перевод экспорта документов на самодостаточный формат detached-подписи
.sigv2.0 (вместоsignature.txtv1.0.0) — для нового Верификатора документов (C9S/verificator).Изменения
Cooperative.Document): канонический типSigFilev2.0 +PackageManifest+ OID-константы (secp256k1/SHA-256). Единый источник формата.prepareDocumentArchive/prepareDocumentPackageArchive): архив кладёт<doc>.sig(JSON v2.0) со встроенным сертификатом подписанта; пакет —manifest.json+<doc>.sigна документ.Ключевые решения
canonicalization: 'legacy-node-stringify'— реальные документы подписаны SDK черезSHA-256(JSON.stringify(meta)). SDK на JCS не переключаем (хэши уходят в блокчейн); верификатор dual-mode валидирует legacy.canonical(doc_hash/meta_hash/hash) кладём как есть из агрегата:doc_hashиз фабрики в верхнем регистре (SHA-256 байтов PDF),meta_hash/hashиз SDK в нижнем. Верификатор сверяет цепочку по этим строкам.Риск
Минимальный: трогается только lib-функция экспорта (UI/вёрстка не затронуты) + аддитивный тип в cooptypes.
signature.txtбольше не пишется; уже скачанные архивы верификатор принимает как legacy.Задача: [794-4] E2 — Верификатор документов v1.