Всем привет!
Мы добавили поддержку 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 является то, что с этим форматом работают многие утилиты и приложения, таким образом упрощается отладка систем, появляется возможность использовать готовые инструменты без необходимости предварительной конвертации.
Мы всегда признательны за обратную связь, расскажите нам о том, что Вы думаете о нас, данные в разделе контакты.
The SIGEX portal uses cookies and other browser data storage technologies only for personalization of the user experience: displaying notifications, reminders and tips, as well as storing some settings. We do not use these technologies to track our users, collect information about them or display advertisements and do not provide such capabilities to third parties. Details are outlined in the Privacy Policy.
We conduct webinars about electronic documents, digital signatures and legal significance.