Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: OpenSSL Не работает

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Не работают функции openssl_public_encrypt т.д.
Microteam
Отправлено: 17 Июня, 2013 - 23:06:22
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Здравствуйте, вот столкнулся со странной для меня проблемой. Я хочу зашифровать данные закрытым ключом, но у меня ничего не получается, скрипт просто зависает при выполнении функции openssl_private_encrypt(). Использую денвер, PHP 5.3. Вот мой приватный ключ:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. -----BEGIN RSA PRIVATE KEY-----
  3. MIICXQIBAAKBgQDKd1WYQr/oI1mm20VsfamUKVsQAp8tR+xJEOpEGnkNHNka7PYx
  4. 9NwKtLWX/NrwZRy5XtvK98VIAmvnVZixu3lTM5/OYSOrfxZ+GrcA4JS86I3Gewg6
  5. 57/BN4hYxkYwtY4akaxTJezNimsQzWeJmuEQWPbORGWIbMWayO6xifnemQIDAQAB
  6. AoGAHR0r4ck3b1ol+ihtwzwOto972MGHwislfxw/k6t63LfZQFXy0Rw0yBVUR5bE
  7. pOzlRIKveHBIniI7Afj9DBG5UEu3PJL7KSd3ki8JBxgysf/GYjhdYZPLX/tLssih
  8. iAQ1sd3IODnguL1+aJuyaoNvXWrGLuv7t51I+xyHHHioaAECQQD8qezpGKOHWjga
  9. fPtwzdieULrwipRTSp9i+UJ2lO7jX/l0jM3SD7QnPzP/tpp/XkmiS8D4enARpFcD
  10. JR3ernYRAkEAzSO6Ev9mpZHaCC4enLaIg9Ezj7efKMA4r0w0nj5+8tcJjIzit5Yu
  11. u6SGeKNKqBBxry57oo5rj7RgvlaWt8Q4CQJBAIhC3BGZyBdnAHrIjJH5calvwGGZ
  12. WwTQacTmyIFLMMpPKClDBn0TGwVPgKuXvxqRrwRn9loLLgVVq9d2XPWLAQECQQCg
  13. AZPrqYa48jCsXLzH46BLoOuk18avFG+iW8BXBcwjQhNSq7lTFTNSbRvuEP/0Yw8p
  14. YwpQWuIO7tTe4c8he01xAkBtP4ZolrPiHYHmw9ATzGrNTHwc37U0StCg1/I/swvt
  15. 4bQqLeN//Grt/rNXeMr897tQywyEP/34m+xgbSK27QU2
  16. -----END RSA PRIVATE KEY-----
  17.  


А вот мой скрипт:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $priv_key = '-----BEGIN RSA PRIVATE KEY-----
  4. MIICXQIBAAKBgQDKd1WYQr/oI1mm20VsfamUKVsQAp8tR+xJEOpEGnkNHNka7PYx
  5. 9NwKtLWX/NrwZRy5XtvK98VIAmvnVZixu3lTM5/OYSOrfxZ+GrcA4JS86I3Gewg6
  6. 57/BN4hYxkYwtY4akaxTJezNimsQzWeJmuEQWPbORGWIbMWayO6xifnemQIDAQAB
  7. AoGAHR0r4ck3b1ol+ihtwzwOto972MGHwislfxw/k6t63LfZQFXy0Rw0yBVUR5bE
  8. pOzlRIKveHBIniI7Afj9DBG5UEu3PJL7KSd3ki8JBxgysf/GYjhdYZPLX/tLssih
  9. iAQ1sd3IODnguL1+aJuyaoNvXWrGLuv7t51I+xyHHHioaAECQQD8qezpGKOHWjga
  10. fPtwzdieULrwipRTSp9i+UJ2lO7jX/l0jM3SD7QnPzP/tpp/XkmiS8D4enARpFcD
  11. JR3ernYRAkEAzSO6Ev9mpZHaCC4enLaIg9Ezj7efKMA4r0w0nj5+8tcJjIzit5Yu
  12. u6SGeKNKqBBxry57oo5rj7RgvlaWt8Q4CQJBAIhC3BGZyBdnAHrIjJH5calvwGGZ
  13. WwTQacTmyIFLMMpPKClDBn0TGwVPgKuXvxqRrwRn9loLLgVVq9d2XPWLAQECQQCg
  14. AZPrqYa48jCsXLzH46BLoOuk18avFG+iW8BXBcwjQhNSq7lTFTNSbRvuEP/0Yw8p
  15. YwpQWuIO7tTe4c8he01xAkBtP4ZolrPiHYHmw9ATzGrNTHwc37U0StCg1/I/swvt
  16. 4bQqLeN//Grt/rNXeMr897tQywyEP/34m+xgbSK27QU2
  17. -----END RSA PRIVATE KEY-----
  18. ';
  19.  
  20. $data = 'Проверка... проверка 123...'; // этот текст будет шифроваться
  21.  
  22. $priv = openssl_get_privkey($priv_key);
  23.  
  24. openssl_private_encrypt($data, $crypted, $priv);
  25. ?>
  26.  


Вроде-бы всё делаю правильно, но после вызова openssl_private_encrypt, скрипт просто напросто зависает, и ничего не шифруется. Что я делаю не так?


-----
int i = 6; ++i + i++ = ?
 
 Top
EuGen Администратор
Отправлено: 17 Июня, 2013 - 23:39:18
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Зависает или прерывается? (в случае отсутствия вывода это легко спутать). Убедитесь, что соответствующее расширение у Вас присутствует (phpinfo или php -m в CLI)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Microteam
Отправлено: 18 Июня, 2013 - 05:26:25
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




EuGen пишет:
Зависает или прерывается? (в случае отсутствия вывода это легко спутать). Убедитесь, что соответствующее расширение у Вас присутствует (phpinfo или php -m в CLI)

Зависает. Никаких ошибок не выдает, просто захожу например на localhost и всё, погрузился мой браузер в вечный сон. А сам openssl у меня присутствует.

(Отредактировано автором: 18 Июня, 2013 - 06:01:08)



-----
int i = 6; ++i + i++ = ?
 
 Top
Zelenuy
Отправлено: 18 Марта, 2014 - 14:41:17
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Тоже openssl вроде не работает, уже все примеры из мануала перепробовал, не один из них не заработал, в php ini библиотека подключена Растерялся
Microteam
Ваш пример у меня не завис а просто выдал: Fatal error: Call to undefined function openssl_get_privkey()
(Добавление)
Огорчение Вот тоже не могу заставить работать
PHP:
скопировать код в буфер обмена
  1. <?
  2. $dn = array("countryName" => 'XX', "stateOrProvinceName" => 'State', "localityName" => 'SomewhereCity', "organizationName" => 'MySelf', "organizationalUnitName" => 'Whatever', "commonName" => 'mySelf', "emailAddress" => 'user@domain.com');
  3. $privkeypass = '1234';
  4. $numberofdays = 365;
  5.  
  6. $privkey = openssl_pkey_new();
  7. $csr = openssl_csr_new($dn, $privkey);
  8. $sscert = openssl_csr_sign($csr, null, $privkey, $numberofdays);
  9. openssl_x509_export($sscert, $publickey);
  10. openssl_pkey_export($privkey, $privatekey, $privkeypass);
  11. openssl_csr_export($csr, $csrStr);
  12.  
  13. echo $privatekey; // Will hold the exported PriKey
  14. echo $publickey;  // Will hold the exported PubKey
  15. echo $csrStr;     // Will hold the exported Certificate
  16. ?>

Результат:
Цитата:
Warning: openssl_csr_sign(): cannot get CSR from parameter 1 in C:\OpenServer\domains\ssl\openssl.php on line 8

Warning: openssl_x509_export(): cannot get cert from parameter 1 in C:\OpenServer\domains\ssl\openssl.php on line 9

Warning: openssl_pkey_export(): cannot get key from parameter 1 in C:\OpenServer\domains\ssl\openssl.php on line 10

Warning: openssl_csr_export() expects parameter 1 to be resource, boolean given in C:\OpenServer\domains\ssl\openssl.php on line 11

Может кто подскажет как эту проблему решить?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB