Архив протокола фиксации скриншота
===================================
Номер: ede1c23628a882d63b40a466ff6e61ed
Страница проверки: https://api.podpisal.ru/tools/verify/ede1c23628a882d63b40a466ff6e61ed
Зафиксировано URL: 1
Способ захвата: viewport

Что внутри
----------
• Протокол_фиксации_*.pdf — основной документ для суда и контрагентов.
• url-N/ — оригинальные снимки (PNG) и текст страниц, как их видел сервер.
• network/ — техническая диагностика момента съёмки (точное время сервера,
  данные о владельце домена, сетевой маршрут).
• manifest.txt — список всех файлов с их «отпечатками» (хешами).
• manifest.tsr и manifest.txt.ots — независимые доказательства того,
  что manifest.txt существовал в указанное время и не менялся.
• metadata.json — те же данные в машиночитаемом виде.
• verify.html — оффлайн-страница проверки (двойной клик в браузере,
  работает без интернета).

Зачем хранить этот архив
------------------------
Сервис podpisal.ru хранит только короткий реестр хешей вашей фиксации.
Сами снимки на сервере НЕ остаются — это сделано в целях приватности
(152-ФЗ). Если в будущем потребуется доказать, что снимок не изменён,
понадобится этот архив: по нему любой эксперт пересчитает хеш и сверит
его с публичным реестром на странице проверки.

«Отпечатки» этого пакета (для сверки с реестром)
------------------------------------------------
  SHA-256:      fa4da23e0b43b919af2811692fed09e6728cebd3425718bbaebf6bd274b04a74
  Стрибог-256:  be7074c184aa437a32106ca0af41e9195951d275e0b8ed9efd6856ffa49ae775

Как использовать
----------------
1. Прикладывайте к делу PDF-протокол — этого достаточно для большинства
   ситуаций (суд, претензии, споры с контрагентами).
2. Если оппонент сомневается в подлинности — отправьте ему ссылку на
   страницу проверки: https://api.podpisal.ru/tools/verify/ede1c23628a882d63b40a466ff6e61ed
   На ней он сравнит «отпечаток» PDF с реестром.
3. Если потребуется криминалистическая экспертиза — передайте архив
   целиком: эксперт проверит каждый файл и независимые доказательства
   времени (RFC 3161 и OpenTimestamps/Bitcoin). Точные команды —
   в разделе «Для эксперта» ниже.

===================================
Для эксперта (криминалистика, юристы)
===================================

Этот раздел нужен, если вы независимо проверяете подлинность протокола
и хотите пересчитать хеши самостоятельно — без обращения к podpisal.ru.
Все значения, описанные ниже, лежат в manifest.txt — это source of truth
по хешам всех файлов архива.

1. Структура архива
-------------------
  Протокол_фиксации_*.pdf       — итоговый PDF (для суда).
  url-N/                        — оригиналы кадров и метаданные одного URL.
    frames/frame_NNN.png        — исходные кадры захвата (fullpage-режим).
    stitched.png                — производная склейка (для удобного просмотра).
    viewport.png                — единый PNG (viewport-режим).
    source.txt                  — URL, заголовок, время, user-agent, размер окна.
  network/                      — диагностика момента съёмки
    timedatectl.txt             — состояние NTP-синхронизации сервера.
    whois_*.txt                 — WHOIS по корневому домену.
    tcptraceroute_*.txt         — сетевой маршрут до хоста.
  manifest.txt                  — РЕЕСТР хешей всех файлов выше.
  manifest.tsr                  — RFC 3161 Timestamp Token на manifest.txt.
  manifest.txt.ots              — OpenTimestamps proof, якорится в Bitcoin.
  metadata.json                 — машиночитаемая копия всех данных протокола.
  verify.html                   — оффлайн-страница проверки (двойной клик).
  README.txt                    — этот файл.

2. Как пересчитать хеши вручную
-------------------------------
  # SHA-256 (RFC 6234) — стандартная утилита есть в любой ОС:
  shasum -a 256 manifest.txt                         # macOS / BSD
  sha256sum  manifest.txt                            # Linux
  certutil -hashfile manifest.txt SHA256             # Windows

  # Стрибог-256 (ГОСТ Р 34.11-2012):
  openssl dgst -streebog256 manifest.txt             # OpenSSL 1.1+ с GOST-engine
  gostsum manifest.txt                               # пакет gost-engine, Linux

  Сравните полученные значения со строкой manifest.txt в реестре
  (или со значением «отпечатков пакета» в начале этого README).
  Тот же приём работает для любого файла архива — каждый имеет
  собственную строку в manifest.txt.

3. Как проверить RFC 3161 Timestamp (manifest.tsr)
--------------------------------------------------
  # Информация о токене (issuer, дата, hash):
  openssl ts -reply -in manifest.tsr -text

  # Полная криптографическая проверка (нужен корневой сертификат TSA):
  openssl ts -verify -in manifest.tsr -data manifest.txt -CAfile tsa-ca.crt

  Сертификат CA: https://freetsa.org/files/cacert.pem
  TSA-провайдер по умолчанию — freetsa.org (RFC 3161).
  Что подтверждает токен: на момент freetsa.org-времени файл manifest.txt
  существовал именно в том содержимом, по которому посчитан хеш.

4. Как проверить OpenTimestamps якорь (manifest.txt.ots)
--------------------------------------------------------
  # Установка клиента (один раз):
  pip install opentimestamps-client

  # Проверка:
  ots verify manifest.txt.ots

  # Если якорь ещё не подтверждён в блоке Bitcoin
  # (свежий протокол, прошло меньше 1-6 часов):
  ots upgrade manifest.txt.ots

  После upgrade повторите verify. Подтверждение в блоке Bitcoin означает,
  что хеш manifest.txt опубликован в публичном неизменяемом реестре
  и не может быть подделан задним числом.

5. Что делать при подозрении на подделку
----------------------------------------
  Если хоть один SHA-256 в archive не сходится с manifest.txt — протокол
  скомпрометирован: либо файл подменён после фиксации, либо архив
  собран не из тех артефактов.

  Алгоритм:
    a) Пересчитайте SHA-256 каждого файла локально (см. раздел 2).
    b) Сравните со значениями в manifest.txt.
    c) Независимо проверьте сам manifest.txt по TSR (см. раздел 3) —
       это внешняя точка истины: подпись выдаёт TSA, а не podpisal.ru.
    d) Дополнительно проверьте OTS-якорь (см. раздел 4) — публичный
       реестр Bitcoin не подделать даже оператору сервиса.

  Если manifest.txt прошёл проверку TSR + OTS, но хеш отдельного файла
  не сходится — подделан именно этот файл, а не архив целиком.
  Если manifest.txt не сходится с TSR — подделан реестр; всему архиву
  доверять нельзя.

6. Оффлайн-страница верификации (verify.html)
---------------------------------------------
  Файл verify.html в корне архива работает локально, без интернета:
  откройте его двойным кликом, перетащите любой файл из архива —
  браузер пересчитает SHA-256 силами WebCrypto API и сравнит со
  встроенным манифестом. Удобный способ для быстрой выборочной
  проверки без командной строки.
