Генерация сертификатов для ESIA ИС и авторизация PHP?

Ссылка скопирована
1 ответ

Для авторизации и работы использую библиотеку: https://github.com/fr05t1k/esia

Но не могу понять, как получить нужные сертификаты и как сгенерировать приватный ключ .pem.

Генерация сертификатов для ESIA ИС и авторизация PHP?

В личном кабинете смог получить следующие файлы .key, в интернете вычитал что из них нужно сделать .pem файл, для этого посоветовали использовать следующее: https://github.com/garex/nodejs-gost-crypto - так и не завелось, видимо делал что-то не так.

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

В библиотеке так же требуется указывать путь к certPath, privateKeyPath с этим все понятно, но так же нужно указать privateKeyPassword (пароль от приватного ключа) с ним тоже проблемы, где его получить? tmpPath (путь до директории где будет проходить подпись (должна быть доступна для записи)) - как я понял это директория на сервере куда будет происходить запись.

Дополнительно:

это?

  • iljaGolubev, это, но это особо ничем не помогает))
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Кирилл JS Ответ

    Для генерации сертификатов для Единой системы идентификации и аутентификации (ЕСИА) и последующей авторизации через PHP, вам потребуется выполнить несколько шагов.

    1. Сначала вам нужно сгенерировать пару ключей (открытый и закрытый ключ) для использования в качестве сертификата. Для этого вы можете воспользоваться утилитой OpenSSL. Ниже приведен пример команды для генерации закрытого ключа:

    openssl genrsa -out private.key 2048

    openssl genrsa -out private.key 2048

    2. Далее, с помощью этого закрытого ключа, сгенерируйте запрос на сертификат (CSR - Certificate Signing Request). Пример команды:

    openssl req -new -key private.key -out request.csr

    openssl req -new -key private.key -out request.csr

    3. Теперь отправьте запрос на сертификат в соответствующий удостоверяющий центр, чтобы получить подписанный сертификат. После получения сертификата, сохраните его в файл с расширением `.crt`.

    4. Теперь вам нужно сконвертировать сертификат и закрытый ключ в формат, который поддерживает PHP. Для этого выполните следующие команды:

    openssl x509 -in certificate.crt -out certificate.pem -outform PEM
    openssl rsa -in private.key -out private.pem -outform PEM

    openssl x509 -in certificate.crt -out certificate.pem -outform PEM openssl rsa -in private.key -out private.pem -outform PEM

    5. Наконец, используйте полученные файлы (`certificate.pem` и `private.pem`) для настройки авторизации через ЕСИА в вашем PHP приложении. Вам может понадобиться использовать библиотеки, такие как phpseclib, для работы с сертификатами и выполнения запросов к сервисам ЕСИА.

    Это основные шаги по генерации сертификатов для ЕСИА и их использованию в PHP. Не забудьте обеспечить безопасное хранение закрытого ключа и сертификата, чтобы избежать утечки конфиденциальной информации.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно