Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Из .p12 в .pem


Автор: DiMoN_TD 3.4.2008, 12:04
Добрый день.
Вопрос. Как мне можно преобразовать ИЗ .p12 в два файла .pem??? Спасибо.

Автор: flashaa 3.4.2008, 12:09
Выдираем сертификат(PEM) и скрытый ключ из файла .p12

Код

$p12cert = array();
$file = '/home/anton/certificate.p12';
$fd = fopen($file, 'r');
$p12buf = fread($fd, filesize($file));
fclose($fd);

if ( openssl_pkcs12_read($p12buf, $p12cert, 'password') )
{
    echo 'Works!';
}
else
{
    echo 'Fail';
}

file_put_contents('cert.pem', $p12cert['cert']);

$privKey = openssl_get_privatekey($p12cert['pkey']);
file_put_contents('priv.key', $p12cert['pkey']);


В той же директории создаются файлы cert.pem и priv.key.

Вообще, все что можно выдрать из файла p12 можно посмотреть, если сделать print_r($p12cert);

Добавлено @ 12:10
Автор, я тоже занимаюсь сертификатами, есл найдешь ответ на мой вопрос , то буду благодарен
Вопрос здесь - http://forum.vingrad.ru/forum/topic-203625.html

Автор: DiMoN_TD 3.4.2008, 12:18
Огромное спасибо. выручили =)
Хотя ещё не проверял, но сейчас буду =)
Так что вопросы могут возникнуть в будущем =)

Автор: DiMoN_TD 3.4.2008, 13:11
Блин.. не пашет функция сама.. никто не подскажет где её можно активировать на Apache или на PHP?? 
Версия Apache 2.2.8
Версия php 5.2.4

Автор: flashaa 3.4.2008, 13:48
DiMoN_TD, openssl-расширение стоит?
Другие ф-ции пашут?
http://ru2.php.net/manual/ru/ref.openssl.php

Автор: DiMoN_TD 3.4.2008, 14:45
С этим разобрался, просто версию php обновил.. и функция ваша тоже рабочая.. спасибо.

Автор: flashaa 3.4.2008, 15:13
Цитата(DiMoN_TD @  3.4.2008,  14:45 Найти цитируемый пост)
С этим разобрался, просто версию php обновил.

Cуть не в версии PHP, а в том, что расширение openssl должно быть установлено  smile 

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