[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP + OPENSSL
I++
<?php

$config = array(
'config' => 'nul',
'digest_alg' => 'whirlpool',
'private_key_bits' => 384,
'private_key_type' => OPENSSL_KEYTYPE_DSA,
'encrypt_key' => false
);


$res = openssl_pkey_new($config);

if(!openssl_pkey_export($res, $privatekey))
{
echo 'gavno...';
exit;
}

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


echo "Private Key:\n".$privatekey."\nPublic Key:\n".$publickey;

?>


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

Требуется шифровать передачу данных в демоне, будет работать по принципу SSH'а.

Но проблема в том, что приватный ключ, он не хочет давать, публичный выдает на ура.

openssl_pkey_export возвращает false постоянно. Скурил много мануалов, подсовывал openssl.cnf, толку NULL.

Платформа: Windows.
PHP: 5.4.0
Скомпилен ручками.

php -m

[PHP Modules]
Core
date
dio
ereg
libevent
openssl
pcre
Reflection
sockets
SPL
standard



Спустя 6 часов, 58 минут, 46 секунд (26.03.2012 - 20:36) I++ написал(а):
Народ, помогите я уже задолбался с этой хреновиной.

Спустя 24 минуты, 50 секунд (26.03.2012 - 21:01) Игорь_Vasinsky написал(а):
хз, просто интересно стало, погуглил, опечатки нету? гугл правит на OPENSSL KEY TYPE RSA

Спустя 40 секунд (26.03.2012 - 21:02) I++ написал(а):
OPENSSL KEY TYPE RSA тоже не пашет...

Спустя 4 минуты, 4 секунды (26.03.2012 - 21:06) Игорь_Vasinsky написал(а):
Цитата
Note: You need to have a valid openssl.cnf installed for this function to operate correctly. See the notes under the installation section for more information.


говорит чо тока правильный openssl.cnf нужен, может у тя кривой?

Спустя 25 минут, 37 секунд (26.03.2012 - 21:31) I++ написал(а):
Дык я пихал конфиг который в коробке подефолту идет, не пашет. Мануалы курил, там всего 3 строки нужно, но не пашет один фиг.

Спустя 6 минут, 48 секунд (26.03.2012 - 21:38) Игорь_Vasinsky написал(а):
поставь error_reporting(E_ALL)

может что то скрылось с глаз

Спустя 4 минуты, 24 секунды (26.03.2012 - 21:43) Игорь_Vasinsky написал(а):
а так

$config = array(
'cnf' => 'path/to/openssl.cnf',
'config' => 'nul',
'digest_alg' => 'whirlpool',
'private_key_bits' => 384,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
'encrypt_key' => false
);


$res = openssl_pkey_new($config);

if(!openssl_pkey_export($res, $privatekey, , null, $config))
{
echo 'gavno...';
exit;
}

Спустя 2 минуты, 58 секунд (26.03.2012 - 21:46) I++ написал(а):
репортинг молчит, ssl репортинг тож не выдает ничего криминального, код не пашет. Выдает, то, что в эхо

Спустя 2 минуты, 13 секунд (26.03.2012 - 21:48) Игорь_Vasinsky написал(а):
а ты путь полный до cnf файла указал или относительный?

Спустя 2 минуты, 7 секунд (26.03.2012 - 21:50) Игорь_Vasinsky написал(а):
Цитата
'digest_alg' => 'whirlpool',

чё за алгоритм шифрования? пробуй sh1, md5

Спустя 17 минут, 17 секунд (26.03.2012 - 22:07) Игорь_Vasinsky написал(а):
ну как?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.