teplenev
@teplenev

OpenSSL

Всем добрый вечер!

Функция openssl_pkcs7_sign(), описанная в www.php.net/manual/en/function.openssl-pkcs7-sign.php, что воспринимает в качестве параметров?

Точнее я про сертификат и приватный ключ спрашиваю (третий и четвертый параметр).

В качестве сертификата принимается .crt файл?

Если я получил из .crt файла, выданного Entrast-ом, .pem файл с помощью openssl, то могу ли я этот .pem файл скормить этой функции в качестве приватного ключа? Или нет? И что я тогда должен указывать в качестве фразы-пароля? Пароль, который я указывал, регистрируя сертификат?
  • Вопрос задан
  • 5058 просмотров
Пригласить эксперта
Ответы на вопрос 1
charon
@charon
по идее в качестве сертификата принимается и crt, и pem файл.
Что касается приватного ключа, то тут есть 2 варианта:
1) если вы сами генерировали запрос на сертификат, который отсылали в Entrast, тот потом его подписывал и возвращал — в этом случае приватный ключ был создан вами при формировании запроса вместе с запросом на сертификат (запрос отослали Entrast, а ключ не отсылали);
2) если вы не формировали запрос, а сразу запросили сертификат, то теоретически Entrast должен прислать вам 2 файла: приватный ключ отдельно, а сертификат — отдельно. Хотя приватный ключ можно встроить в сертификат.

Попробуйте просто открыть crt-файл от Entrast и поискать там строки
-----BEGIN RSA PRIVATE KEY-----
.....
-----END RSA PRIVATE KEY-----

Если они там есть, то это и есть ваш приватный ключ.
Функция openssl_pkcs7_sign() ожидает приватный ключ отдельно, так что скормить ей pem-файл нельзя.
Фраза-пароль — да, это та, которую указывали при запросе сертификата. Но для теста можете попробовать передать пустую строку в этот аргумент.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы