Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.
Возвращает TRUE при успехе, FALSE при неудаче.
При успехе подпись возвращается в signature.
openssl_sign() вычисляет подпись для специфицированных данных
data с использованием SHA1 для хэширования, за которым следует шифрование с
использованием private ключа, ассоциированного с priv_key_id. Обратите внимание, что сами данные не шифруются.
Пример 1. openssl_sign()
// принимаем, что $data содержит данные для подписывания
// извлечь private ключ из файла и читать его
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);
// вычислить подпись
openssl_sign($data, $signature, $pkeyid);
// освободить ключ из памяти
openssl_free_key($pkeyid);