Проблемы с цифровой подписью Php и электронной почты - PullRequest
0 голосов
/ 08 сентября 2011

Я пытаюсь подписать мои электронные письма php, но у меня есть некоторые проблемы с этим. Я сгенерировал сертификат, подписанный моим собственным CA с открытым ssl:

openssl req -new -nodes -out request.pem -keyout key.pem -days 1098 -config ./openssl.cnf
openssl ca -in request.pem -out cert.pem -config ./openssl.cnf

Я сгенерировал закрытый ключ key.pem подписанный сертификат 04.pem В корне документа Apache у меня есть файл podepsany_email.php и сертификат + ключ рядом с ним.

для цифровой подписи я использую функцию openssl_pkcs7_sign (). Код:

openssl_pkcs7_sign("./msg.txt", "./signed.txt", "./04.pem" ,"./key.pem", $headers);

Результатом вызова моего скрипта является сообщение об ошибке:

Предупреждение: openssl_pkcs7_sign () [function.openssl-pkcs7-sign]: ошибка получение закрытого ключа в C: \ data \ www \ podepsany_email.php в строке 70

Может, кто-нибудь подскажет, как решить эту проблему? Спасибо

К.

1 Ответ

2 голосов
/ 04 сентября 2012

см. Обсуждение документации php: http://php.net/manual/en/function.openssl-pkcs7-sign.php

Вы должны поместить "file: //" перед именами файлов .pem

...