Всем привет!
Мы добавили поддержку CMS подписей в кодировке PEM в вызовы API сервиса, теперь можно регистрировать такие подписи, использовать их для аутентификации и экспортировать подписи в таком формате.
Это было сделано в рамках работ по подготовке к большому обновлению НУЦ, так как новый предполагаемый модуль NCALayer будет возвращать подписи именно в PEM, а не в DER. До этого принято было работать с DER.
Перечень затронутых вызовов API:
GET
/api/{id}/signature/{signId}?signFormat=X&cmsAsPem=false
- экспорт одной подписи документаPOST
/api
- регистрация нового документа в системеPOST
/api/{id}
- добавление подписи к документуPOST
/api/exported
- получение идентификаторов документа и подписи по ранее экспортированной подписи документаPOST
/api/auth
- аутентификацияCMS, он же PKCS #7 - это формат представления данных, описанный с использованием ASN.1 синтаксиса. DER - один из способов кодирования (сериализации) структур, описанных с помощью ASN.1, он бинарный (не текстовый), является одним из самых распространенных.
То есть ASN.1 - это язык описания структур данных, CMS - это описание конкретной структуры данных на этом языке, а DER - это способ сериализации (кодирования) экземпляров конкретных структур данных в байты.
Стандарт PEM (Privacy-Enhanced Mail, то есть Почта с повышенной секретностью) определяет текстовый формат, он был разработан отдельно, но приобрел большую популярность в области криптографии и стал применяться для хранения сертификатов, ключей и цифровых подписей. Фактически подпись в PEM - это подпись в DER закодированная в Base64 (то есть бинарные данные кодируются текстом), с добавленными символами переноса каретки и двумя специализированными отметками начала и конца.
Так как PEM - это текстовый формат, то файлы PEM можно открыть любым тестовым редактором. Подпись в PEM выглядит приблизительно так:
-----BEGIN CMS-----
MIIb+wYJKoZIhvcNAQcCoIIb7DCCG+gCAQExDzANBglghkgBZQMEAgEFADALBgkq
...
fWLub74VkG084gN+bEcv
-----END CMS-----
Переход с DER на PEM в НУЦ РК, вероятно, обусловлен тем, что для передачи DER в JSON и XML, его в любом случае приходится кодировать в Base64 (JSON и XML - это тестовые форматы, бинарные данные в них “как-есть” помещать невозможно). А плюсом PEM является то, что с этим форматом работают многие утилиты и приложения, таким образом упрощается отладка систем, появляется возможность использовать готовые инструменты без необходимости предварительной конвертации.
Мы всегда признательны за обратную связь, расскажите нам о том, что Вы думаете о нас, данные в разделе контакты.
Портал SIGEX использует файлы cookie и другие технологии хранения данных в браузере только для персонализации пользовательского опыта: отображения уведомлений, напоминаний и подсказок, а так же хранения некоторых настроек. Мы не используем этих технологий для слежения за своими пользователями, сбора о них информации или отображения рекламы и не предоставляем подобных возможностей третим сторонам. Детали изложены в Политике конфиденциальности.
Мы проводим вебинары про электронные документы, ЭЦП и юридическую значимость.