Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить содержимое файла .cer 
:(
    Опции темы
BDmV
  Дата 6.6.2014, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 14.5.2005

Репутация: нет
Всего: 1



Добрый день.
Появилась острая необходимость контролировать даты окончания действия сертификатов открытого ключа (.cer) 
С помощью какой функции можно разобрать содержимое файлов .cer для последующей записи в MySQL? 
openssl_x509_parse и openssl_x509_read почему-то отказываются открывать файл.
Подобный скрипт:
Код

<?php
include("/srv/www/tools/debug.php");
ini_set('display_errors','on');

$fp = fopen("/srv/www/cert/сert.cer", "r");
$cert = fread($fp,8192);
fclose($fp);
print_r(openssl_x509_parse(openssl_x509_read($cert)));
?>
 выдаёт ошибку:
Код

Warning: openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate! in /srv/www/cert/index.php on line 8 

PM MAIL   Вверх
krundetz
Дата 26.6.2014, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



BDmV, меня смущает вот эта строка:
Код

$cert = fread($fp,8192);

может попробовать вот так:
Код

$cert = fread($fp, filesize("/srv/www/cert/сert.cer"));

или так
Код

while (!feof($fp)) {
  $cert .= fread($handle, 8192);
}

или так
Код

$cert = file_get_contents("/srv/www/cert/сert.cer");

кстати на странице с документацией функции openssl_x509_parse содержимое сертификата получают именно так.

А файл сертификата точно в том формате который может быть обработан? 

И да насколько я понял из документации функцие openssl_x509_read можно просто дать путь к сертификату главное чтобы он был в формате PEM


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
BDmV
Дата 2.7.2014, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 14.5.2005

Репутация: нет
Всего: 1



Цитата(krundetz @ 26.6.2014,  00:50)
BDmV, ...
А файл сертификата точно в том формате который может быть обработан? 

И да насколько я понял из документации функцие openssl_x509_read можно просто дать путь к сертификату главное чтобы он был в формате PEM

Формат PEM меня не устраивает т.к. все сертификаты, которые мы получаем в УЦ идут в формате CER или CRT и то что вытащить из них данные можно я заню, но вот как, я не знаю. :(
PM MAIL   Вверх
krundetz
Дата 3.7.2014, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



ох  smile

Цитата(BDmV @  2.7.2014,  08:00 Найти цитируемый пост)
Формат PEM меня не устраивает

зачем тогда пользуетесь функциями предназначенными для работы только с этим форматом?

Цитата(BDmV @  2.7.2014,  08:00 Найти цитируемый пост)
 которые мы получаем в УЦ идут в формате CER или CRT

это не форматы, предполагаю что вы имеете в виду расширения

согласно Википедии существует два основных формата хранения сертификатов  DER и PEM

у вас скорее всего формат DER

как преобразовать его в PEM написано здесь и здесь

Цитата(BDmV @  2.7.2014,  08:00 Найти цитируемый пост)
и то что вытащить из них данные можно я заню

конечно можно стандарт же открыт

Цитата(BDmV @  2.7.2014,  08:00 Найти цитируемый пост)
но вот как, я не знаю

а что пытались узнать?  smile ИМХО непохоже, больше похоже на:

у меня есть проблема, мозг напрягать не хочу, дайте готовое решение

Это сообщение отредактировал(а) krundetz - 3.7.2014, 10:21


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
baldina
Дата 3.7.2014, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



PM MAIL   Вверх
krundetz
Дата 3.7.2014, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



режим зануды

baldina, переведенное вами решение аналогично одному из данных мной, только вот название файла cerToPem.php будет сеять путаницу в головах разработчиков, поэтому прошу вас переименовать файл в DerToPem.php


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0804 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.