Функции Язык программирования PHP

openssl_pkcs7_sign

(PHP 4 >= 4.0.6)

openssl_pkcs7_sign - подписывает сообщение S/MIME.

Описание

bool openssl_pkcs7_sign (string infilename, string outfilename, mixed signcert, mixed privkey, array headers [, long flags [, string extracertsfilename]])

Предупреждение!

Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

openssl_pkcs7_sign() принимает содержимое файла infilename и подписывает его с использованием сертификата и совпадающего private-ключа, специфицированных параметрами signcert и privkey.

headers это массив шапок/headers, которые будут присоединяться впереди данных после их подписывания (см. в openssl_pkcs7_encrypt() о формате этого параметра).

flags можно использовать для изменения вывода - см. PKCS7-константы; если не специфицирован, по умолчанию будет PKCS7_DETACHED.

extracerts специфицирует имя файла, содержащего узел дополнительных сертификатов для включения в подпись, что может использоваться, например, для того, чтобы принимающий мог проверить сертификат, используемый вами.

Пример 1. openssl_pkcs7_sign()
// сообщение, которое вы хотели бы подписать, чтобы принимающий/recipient 
// мог убедиться, что это именно вы его отправили $data = <<<EOD You 
have my authorization to spend $10,000 on dinner expenses. The CEO EOD; // сохранить 
сообщение в файл $fp = fopen("msg.txt", "w"); fwrite($fp, $data); fclose($fp); 
// зашифровать его if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem", 
array("mycert.pem", "mypassphrase"), array("To" => "joes@sales.com", // синтаксис 
с ключами "From: HQ <ceo@sales.com>", // синтаксис с индексами "Subject" 
=> "Eyes only")) { // сообщение подписано - отправить его! exec(ini_get("sendmail_path") 
. " < signed.txt"); }

Примечание: эта функция была добавлена в 4.0.6.


Назад Оглавление Вперёд
openssl_pkcs7_encrypt Вверх openssl_pkcs7_verify

Установка PHP с Netscape под Sun Solaris

Инсталяция PHP с Netscape под Windows

Для установки PHP как CGI (для Netscape Enterprise Server, iPlanet, возможно, Fastrack):

Дополнительно об установке PHP как CGI-экзешника можно найти здесь:

Если у вас запущен Netscape Enterprise 4.x, используйте следующее: