как цифровой подписи файла в PHP

я сделалпользователь таблица в моей БД с разными столбцами для хранения информации о пользователях. Также я добавил две колонкиpublic_key а такжеprivate_key, Когда пользователь регистрируется, его информация будет добавлена в таблицу. плюс я использую:

// Create the keypair
$res=openssl_pkey_new();

// Get private key
openssl_pkey_export($res, $privatekey);

// Get public key
$publickey=openssl_pkey_get_details($res);
$publickey=$publickey["key"];

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

Я решил сначала подписать образец файла (msg.txt), чтобы узнать, смогу ли я, а затем продолжить. Это выглядит прямо вперед:

openssl_pkcs7_sign("msg.txt", "signed.txt", "signing_cert.pem",
array("private_key.pem", "mypassphrase"),
array()
);

Проблема заключается в следующем: что такое signature_cert.pem и private_key.pem? Я вставил сгенерированный открытый ключ в signature_cert.pem, а закрытый - в private_key.pem, но вижу эту ошибку:

Warning: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: error getting 
private key in /home/ofathian/public_html/msc/ebook/mine/assymetric-test.php 
on line 40

Любое мнение приветствуется.