|
|
|
|
$user = (isset($_GET['uid']) ? $_GET['uid'] : 0) or die('User not defined');
$res_pubkey = openssl_pkey_get_public(file_get_contents($ssl_dir."/".$user)) or die ('General Error');
$s = file_get_contents($ssl_dir."/".$user.".enc") or die('General Error');
$s = explode("~!@#$%^&*()_+", $s);
$str = "";
for ($i = 0; $i < count($s) - 1; $i++) {
openssl_public_decrypt($s[$i], $res, $res_pubkey) or die("Decription failed");
$str .= $res;
}
|
Вышеуказанные файлы (file_get_contents($ssl_dir."/".$user), file_get_contents($ssl_dir."/".$user.".enc")) существуют, не битые (проверено!). Проблема:
Если $ssl_dir это путь вида: http://some_url/some_folder то выкидывается Decription failed, а если на этом же сервере, что и скрипт (тоесть путь локальный) то нормально работает.
Ваши мысли, господа!? | |
|
|
|
|
|
|
|
для: fraer
(13.11.2006 в 23:54)
| | Функция file_get_contents() не умеет работать с SSL-ссылками, здесь следует прибегать либо к сокетам, либо к CURL. | |
|
|
|
|
|
|
|
для: cheops
(14.11.2006 в 00:53)
| | Объясняю поподробнее. SSL используется для шифровки файлов (не спрашивайте почему - не моя идея, я должен реализовать). Зашифрованные файлы вместе с ключами лежат на ремоут хосте (Доступ к нему нормальный, не через SSL). И вот, когда они на одном хосте с скриптом - супер, а как только на ремоуте - еррор. Не могу доехать в чём проблема. Да, ещё один вопрос по ходу. Может кто-то знает. Я пробовал зашифровать XML файл, а мне еррор кидало, пришлось разбивать файл на строки размером до 100 символов, шифровать каждую строку, пихать разделители и сохранять? у функции openssl_private_encrypt есть ограничение на размер шифруемой строки? | |
|
|
|