Как сконвертировать pfx в pkcs7? Есть данные: сертификат, приватный ключ, доп. сертификат, все это находится в файле .pfx Необходимо подписать некоторые данные с помощью php функции openssl_pkcs7_sign php.net/manual/ru/function.openssl-pkcs7-sign.php 3-й и 4-й параметры - сертификат и приватный ключ. Вопрос как имеющий .pfx файл сконвертировать в pkcs7 (на выходе должна получиться пара - сертификат и приватный ключ).
Для конвертации .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 = "Data to be signed"; $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 с подписанными данными.
Для конвертации .pfx файла в формат, который можно использовать для подписи данных с помощью функции openssl_pkcs7_sign в PHP, нужно выполнить следующие шаги:
Извлечь сертификат и приватный ключ из .pfx файла:openssl pkcs12 -in yourfile.pfx -out certificate.crt -clcerts -nokeysopenssl pkcs12 -in yourfile.pfx -out privatekey.key -nocerts -nodesСоздать подпись данных с помощью openssl_pkcs7_sign, используя извлеченный сертификат и приватный ключ:$data = "Data to be signed";
$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 с подписанными данными.