Дипломные работы, курсовые проекты на заказ, контрольные работы на заказ

 
Начертательная геометрия Практикум по решению задач Геометрическое черчение Инженерная графика ЕСКД Кратные интегралы Математический анализ Матрицы Пределы Производные Векторная алгебра Интегральное исчисление ТФКП Ядерная физика Электростатика Магнетизм Оптика Информационные технологии
Учебник РНР
Назад Вперёд

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