Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > SSL и ремоут хост


Автор: fraer 14.11.2006, 09:14
Код

  $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, а если на этом же сервере, что и скрипт (тоесть путь локальный) то нормально работает.
Объясняю поподробнее. SSL используется для шифровки файлов (не спрашивайте почему - не моя идея, я должен реализовать). Зашифрованные файлы вместе с ключами лежат на ремоут хосте (Доступ к нему нормальный, не через SSL). И вот, когда они на одном хосте с скриптом - супер, а как только на ремоуте - еррор. Не могу доехать в чём проблема. Да, ещё один вопрос по ходу. Может кто-то знает. Я пробовал зашифровать XML файл, а мне еррор кидало, пришлось разбивать файл на строки размером до 100 символов, шифровать каждую строку, пихать разделители и сохранять? у функции openssl_private_encrypt есть ограничение на размер шифруемой строки?
Ваши мысли, господа!?

Автор: fraer 15.11.2006, 01:48
Ну типа понял. ХТТП сервер бъет файл - меняет некоторые символы, которые стоят выше 127 места в АСЦИИ таблице. Кажется мне, что надо сделать запрос, чтобы сервер файл не трогал. Поздно уже, голова не варит. Подскажите пожалуйста!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)