openssl_pkcs7_sign (): нет сертификатов в файле AppleWWDRCA.cer

Мне нужно создать отдельную подпись PKCS7 для использования с пропусками Apple Wallet.

Код

private function createSignature()
{
$cert = '/etc/ssl/local.crt';
$key = '/etc/ssl/local.key';
$wwdr = '/var/www/app/storage/passes/AppleWWDRCA.cer';
$headers = [
'signing-time' => (new DateTime())->format('o-m-d H:i:s'),
];

return openssl_pkcs7_sign("$this->dir/manifest.json", "$this->dir/signature",
$cert, $key, $headers, PKCS7_DETACHED, $wwdr);
}

Ошибка

openssl_pkcs7_sign(): no certificates in file, /var/www/app/storage/passes/AppleWWDRCA.cer

AppleWWDRCA.cer был загружен с https://www.apple.com/certificateauthority/. Точный сертификат, который я скачал, был WWDR Certificate (Expiring 02/07/23), Я просмотрел файл и подтвердил, что он не пустой. Я пропускаю шаг?

1

Решение

Проблема была решена путем добавления AppleWWDR.cer к моей цепочке для ключей и экспорта его из цепочки для ключей как .pem файл.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]