Помогите разобраться с сертификатами, пожалуйста!

B_Yurchenko

Новичок
Такая тема... Есть определенные данные, заключенные в $data, к примеру. И есть сертификат "sertif.sert" и ключ 111.key Нужно подписать $data и отправить на удаленный сервер. Как отправить - вопросов нет. А вот, как подписать - мучаюсь уже третий день. В инете много информации о pem-кодированных сертификатах, о ключах. Я этого начитался и еще больше запутался. Помогите, пожалуйста, с кодом!!!
 
Я видел в инете код, когда методом HTTP POST сертификат и открытый ключ отправляют вместе с данными. Это и есть "подписать"?
 
А какая конкретно задача перед вами стоит?
Вообще копать я думаю надо где-то тут
 
Мне нужно отправить на платежный сервер данные в формате Json, которые должны быть подписаны сертификатом. У выданного мне сертификата расширение sert. Есть пара ключей. Т.о. я понимаю, что имеется в виду, что я могу подписать данные с открытым ключем, а проверить целостность ответа своим закрытым. Вообще-то я совсем запутался! Ключи имеют расширение key и sec. Что делать с этим всем я не знаю. В интернете ничего толком не написано...
 
Вообще не зная что за платежный сервис и не имея возможности попробовать, трудно помочь чем-то конкретным.
На вашем месте я бы сразу же обратился в техподдержку сервиса.
Или это ваш удаленны сервер? Тогда что находится на нем?

пробовали через openssl_sign() и openssl_verify() ? на php.net есть примеры.
 
Это сервер платежной системы. В ответ на свои запросы, я получаю от них следующее:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request</h2>
<hr><p>HTTP Error 400. The request is badly formed.</p>
</BODY></HTML>

И дело все в том, что не пойму, как работать с вот этим.... Расшифруйте, пожалуйста! "Перед отправкой сообщения с помощью специализированной криптобиблиотеки формируется электронно-цифровая подпись (ЭЦП). Тело сообщения и его ЭЦП оформляются криптобиблиотекой в виде сообщения-контейнера" У меня есть такая библиотека в формате *.dll И даже есть примеры, как подцепить ее на дельфях и си. Можно как-то цеплять ее php? Также с ней есть файлы сертификата и ключей, как я писал выше...
 
Ну для начала я бы вам посоветовал почитать про основы криптографии, ключи подписи и т.п.
В вашем же случае они даже явно пишут "с помощью специализированной криптобиблиотеки".
Т.е. непонятно что там за алгоритм и не факт, что это все возможно реализовать на php.
Возможен вариант написать консольное приложение на С, которое будет формировать подпись и уже его запускать из php.

Я думаю, вам все-таки стоит обратиться к ним в техподдержку, либо искать человека который работал с данной конкретной платежной системой.
 
Ребята, вроде бы как это DSA. Поиск по Гуглу ничего не дал. М.б. у кого есть пример реализации или полезная ссылка? Оч. благодарен буду!
(ответ от суппорта платежной системы еще не получил...)
 
Как платежная система то хотя бы называется? Или это секрет?
 
Сверху