uznay-chto-hochesh.narod.ru

-сайт для интересующихся людей

Учебник - справочник по PHP.

Здесь Вы найдете что хотели

Меню сайта
Главная
Введение
Справочник языка
Возможности РНР
Функции (справочник)
Расширение РНР 4.0
F.A.Q. частые вопросы
Приложения
Алфавитный указатель
Друзья сайта
сделай сайт сам! пособие по html
изучение html и web-дизайна для новичков
Бесплатная отправка смс на все операторы
Реклама
 
Назад Вперёд

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

Хостинг от uCoz