<?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 написал(а):
ну как?