Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
PHP скрипт для получения выписки Альфа Банка / Использование ключей Крипто-ПРО под OpenSSL в Линукс
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.10.2015(UTC) Сообщений: 3
|
alfabank.php.txt (4kb) загружен 152 раз(а). alfabank.php.txt (4kb) загружен 152 раз(а).Мне надо было подключиться к API Альфа Банка (Альфа Линк), который использует Крипто-Про, стандартными средствами Linux (openssl, curl, php). Делюсь своим опытом: Шаг 1. Сначала в Windows:
- Идем в Банк и от своего юридического лица запрашиваем возможность подключения услуги "Альфа Линк" (для 1С).
- Генерируем на специальном сайте альфабанка запрос на сертификат, отправляем запрос в банк.
- Банк возвращает подтвержденный сертификат, импортируем его в систему (Т.н. "Личные, Personal" сертификаты).
- Теперь нам надо экспортировать наш личный ключ в удобном нам формате. Здесь стоит особо отметить, что если сделать экспорт ключа напрямую через Крипто-Про, то он не прочтется OpenSSL. Поэтому экспорт нужно делать
при помощи программки P12FromGostCSP.exe (скачивается Тут) - она экспортирует его в формате PKCS#12, подходящем линуксу.
- Получаем .pfx файл с личным ключом и работа в Windows закончена.
Шаг 2. В Линукс:
- Если ваш OpenSSL не настроен на стандарт GOST (а скорее всего не настроен), то в самое начало файла /etc/ssl/openssl.conf добавляем:
Цитата:openssl_conf = openssl_def
А в самый конец этого же файла:
Цитата:[openssl_def] engines = engine_section
[engine_section] gost = gost_section
[gost_section] soft_load=1 default_algorithms = ALL CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
- Теперь можно спокойно сконвертировать наш .pfx ключ, полученный через P12FromGostCSP, в .pem ключ, который подходит для openssl:
Цитата:openssl pkcs12 -in private.pfx -out private.pem -nodes -clcerts
- Далее, если сертификат, присланный в ответ банком (from_bank.cer), содержит нечитаемый бинарный код, то его тоже надо сконфертировать:
Цитата:openssl x509 -inform der -in from_bank.cer -out from_bank.pem
- Теперь с сертификатом from_bank.pem и закрытым ключом private.pem можно подписывать любые документы:
Цитата:openssl smime -sign -signer from_bank.pem -inkey private.pem -in request.xml -out request.xml.sign -outform pem
Шаг 3. curl и php. Код для получения выписок Альфа Банка на php и openssl написан на коленке и прикреплен к этому посту. Ссылки: http://dzek.ru/blog/163.htmlhttp://dunmaksim.blogspo...4/09/debian-openssl.htmlЕсли кому понравилось мое решение, приходите к нам в SMS.RU пользоваться услугами СМС Рассылки. Отредактировано пользователем 31 октября 2017 г. 15:58:39(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.06.2016(UTC) Сообщений: 1
|
При использовании прикреплённого скрипта в исходном виде банк возвращает код ошибки 2. Лечится путём добавления флага -binary в атрибуты вызова openssl. P.S. openssl-1.0.2h P.P.S. Огроменное спасибо автору! Отредактировано пользователем 2 июля 2016 г. 16:35:44(UTC)
| Причина: Не указана
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
PHP скрипт для получения выписки Альфа Банка / Использование ключей Крипто-ПРО под OpenSSL в Линукс
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close