Подпись по ЭЦП

Здравствуйте!
Мы хотели создать у себя Личный кабинет для клиента. И подпись по ЭЦП.
Думал на форуме найду ответы на вопросы, но вы обновили форум и весь архив пропал кажется.

У нас приложение состоит из бэкенда и фронтенда.
Фронтенд запрашивает документ, бэкенд вместе с документом передает XML.
В XML только Хэш этого Пдф(или docx,xlsx) файла.
Фронт через NCALayer подписывает XML,
(После подписи внутри XML-a который пришел с бэка, добавляется node Sign),
NCALayer как сгенерил новый XML, фронт этот XML отправляет обратно на бэк.
Бэкенд на джава. Бэкенд через вашу библиотеку КалканКрипт проверяет подпись на валидность.
Если валидный, то бэкенд сохраняет этот XML в базе.

Тут возникает вопросы.
Можете ответить пожалуйста:

  1. Правильно ли весь этот процесс?
  2. Насколько важно подпись через NCALayer. Нельзя ли передать ключ и пароль на бэкенд и там подписывать? Насколько это не законно или опасно?
  3. Какой формат лучше использовать в подписи? CMS или XML?
  4. А вообще как проверяется на законность подписи обычно? Допустим я добавлю у себя функцию проверки подписи. Котоый, берет из физического файла хэш,
    и достает тот подпись который я уже в базе храню. И передаю их вашей библиотеке и ожидаю ответ. Так проверяется подпись на правильность? Допустим
    через некоторое время нужно будет проверить
  5. В СДК есть подпись с временной меткой. Насколько это важно, что оно вообще дает?

Здравствуйте!
Архив старого форума доступен по следующей ссылке.

  1. В целом правильно. Только на фронте необходимо также перепроверить хэш или же вычислять его на фронте.
  2. По аналогии с бумажным носителем: Вам завязали глаза и просят подписать документ, Вы подпишите? Откуда пользователю знать что Вы подпишите его ключами на бекенде? И по закону, каждый несет ответственность за передачу своих ключей третьим лицам.
  3. Зависит от архитектуры Вашей ИС.
  4. Информационной системе необходимо проверять подписи в электронных документах и регистрационные свидетельства подписывающей стороны согласно Правилам проверки подлинности электронной цифровой подписи № 1187, утвержденных Приказом Министра по инвестициям и развитию Республики Казахстан от 9 декабря 2015 года.
  5. Время на компьютере не вызывает доверия. Его можно легко изменить. Для установления точного времени подписания и того, что в этот момент времени существовал данный документ и подпись, к подписи добавляется доверенная метка времени. Метка времени возвращается сервисом TSA НУЦ РК, подписана ключом данного сервиса и привязана к хэшу подписи подписывающего пользователя.

Понял, спасибо большое за ответ

2020-04-07T19:00:00Z

По поводу вторго пункта. Если даже подпись совершается с помощью ncalayer-a, пользователю неизвестно же что он подписывает. Он может видеть другой файл, а подпись идет по другому файлу :slight_smile:

Касательно второго пункта. Согласно закону “Об электронном документе и электронной цифровой подписи”:

Закрытые ключи электронной цифровой подписи не могут быть переданы другим лицам.

Зачем? Что это даст?

Добрый день! Алмас, вы решили проблему с сохранением и проверкой подписи?
Такая же ситуация, сервер формирует справку в PDF. вычисляю хэш, руководитель подписывает хэш PDF. Теперь стал вопрос, где и как хранить подпись чтобы файл имел юридическую силу? чтобы его можно было проверить через месяц, год. Как вы реализовали

Добрый день, хотел узнать у нас есть ИС она работает в закрытой сети не подключенной к интернету. 1. Можно ли использовать ЭЦП выданное НУЦ РК для сотрудников для подписания документов без доступа к НУЦ? 2. Будет ли считаться легитимной данная подпись?

Здравствуйте. Это зависит от того, что вы подразумеваете под доступом к НУЦ. При создании подписи интернет может понадобиться для связи с сервисом метки времени, но если вы ее не используете подпись можно создать оффлайн. На легитимность это не влият. Касательно юридических вопросов вам нужно прочитать нормативно правовую документацию на нашем сайте https://pki.gov.kz/documentation/

Теперь стал вопрос, где и как хранить подпись чтобы файл имел юридическую силу? чтобы его можно было проверить через месяц, год. Как вы реализовали

Где и как хранить подпись не имеет значения. Главное чтобы подпись проходила проверку согласно правилам проверки подлинности ЭЦП. http://adilet.zan.kz/rus/docs/V1500012864

В целом вам нужно ознакимться со всей нормативно правовой документацией https://pki.gov.kz/documentation/

Ключи использовать возможно. Можете подписать документ или проверить подписанный документ. Также извлечь сертификат и получить данные из него.

Но если ИС вообще не будет иметь доступ в интернет, то в этом случае Вы не сможете проверить статус сертификата - отозван ли он на момент работы с ним…
Есть вариант ежедневно скачивать CRL-файлы и передавать их в вашу ИС. В CRL содержится список отозванных сертификатов. Они обновляются ежедневно. Список CRL-файлов можете найти по ссылке https://crl.pki.gov.kz/

Еще без интернета Вы не сможете при подписи документов вшивать штамп времени в подпись. В этом случае доказать когда был подписан документ - невозможно.

Вот так мне ответили специалисты Национальные Информационные Технологии. Но у меня возникает проблема с времени и датой подписи думаю с этим могут возникнуть проблемы как описывали ранее дату ведь можно поменять на компьютере.

Интересно можно ли создать Мини версию НУЦ у себя на серверах, с загрузкой определенных скриптов с НУЦ РК чтоб подтверждать подпись датой и временем?

Вы уверены, что вам нужно использовать сервис метки времени? Если да, то вам не обойтись без доступа к интернету.

Ну я имел ввиду если такая необходимость все таки нужна будет. Спасибо за ответ.

(сообщение отозвано автором и будет автоматически удалено в течение 24 часов, если только на сообщение не поступит жалоба)