fr05t1k / esia

Компонент для авторизации на портале "Госуслуги" (ЕСИА)
http://fr05t1k.github.io/esia
141 stars 67 forks source link

Работа с сертификатом от аккредитованного УЦ #46

Closed Versud closed 1 year ago

Versud commented 3 years ago

С недавнего времени в технологический портал ЕСИА можно загружать только сертификаты от аккредитованных УЦ.

Как сейчас работать с библиотекой, если в качестве ключа нет привычного .key? Есть или .pfx, или набор из 6 файлов закрытого ключа.

Если указывать путь до .pfx файла, то openssl падает с ошибкой

fr05t1k commented 3 years ago

Я не думаю что смогу помочь с этим, т.к. у меня нет доступа к тестовой среде и ключам на которых можно потестировать.

fr05t1k commented 3 years ago

Можно наверно попробовать вытищить ключи из .pfx https://www.ibm.com/docs/en/arl/9.7?topic=certification-extracting-certificate-keys-from-pfx-file

Versud commented 3 years ago

openssl выкидывает ошибку на этих командах. Причем в эту команду никак не подсунуть gost engine. Я связывался с тех. поддержкой уц. ПНК и Контур - мне сказали, что из гостовского pfx никак не получится экспортировать ключ, который мне нужен. Судя по всему, нужно либо мучиться с openssl, чтобы вместо .key можно было как-то ему .pfx скормить, либо выполнять подписание КриптоПРО утилитой

highlander12rus commented 3 years ago

@Versud
Вам нужно воспользоватся этой утилитой https://github.com/kulikan/privkey с помошью нее сможете сконвертировать крипто про контейнер в формат openssl Обязательно проверьте, что ваш openssl подерживал gost. для этого введите

openssl ciphers |tr ':' '\n'|grep GOST

В том что выдаст должно быть GOST2012-GOST8912-GOST8912

Я компилировал сам т.к алт линукс (8ой) не подержвиают такое из сертефицирвоанных пакетов. Астра линукс описано тут https://wiki.astralinux.ru/pages/viewpage.action?pageId=27362269