Как сконвертировать pfx в pkcs7? Есть данные: сертификат, приватный ключ, доп. сертификат, все это находится в файле .pfx
Необходимо подписать некоторые данные с помощью php функции openssl_pkcs7_sign php.net/manual/ru/function.openssl-pkcs7-sign.php 3-й и 4-й параметры - сертификат и приватный ключ.
Вопрос как имеющий .pfx файл сконвертировать в pkcs7 (на выходе должна получиться пара - сертификат и приватный ключ).

21 Авг 2019 в 07:12
175 +1
0
Ответы
1

Для конвертации .pfx файла в формат, который можно использовать для подписи данных с помощью функции openssl_pkcs7_sign в PHP, нужно выполнить следующие шаги:

Извлечь сертификат и приватный ключ из .pfx файла:openssl pkcs12 -in yourfile.pfx -out certificate.crt -clcerts -nokeys
openssl pkcs12 -in yourfile.pfx -out privatekey.key -nocerts -nodesСоздать подпись данных с помощью openssl_pkcs7_sign, используя извлеченный сертификат и приватный ключ:data="Datatobesigned";data = "Data to be signed";
data="Datatobesigned";
cert = "path/to/certificate.crt";
$key = "path/to/privatekey.key";
openssl_pkcs7_sign($data, 'signedData.p7', $cert, array($key),
array("SGMYCA", "file://path/to/CAcertificate.crt"),
PKCS7_BINARY | PKCS7_DETACHED);

Где SGMYCA - дополнительный сертификат, который можно установить как параметр функции openssl_pkcs7_sign, если он необходим для подписи.

Таким образом, после выполнения этих шагов у вас будет файл signedData.p7 с подписанными данными.

20 Апр 2024 в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир