все что связано с моей работой
Главная » Технические » Системы управление сертификатами. PHPKI

Системы управление сертификатами. PHPKI

Первая система для теста была выбрана PHPKI. Причин было несколько:

  • визуально самая «красивая», т.е. выглядит готовой к употреблению
  • написана на PHP, не то чтоб это был решающий пункт, но доставлять какие-то дополнительные языки/библиотеки или модули под веб-сервер — совсем не хотелось, тем более это вспомогательный сервис

Тестировалось все во FreeBSD 9.2 в VirtualBox-е, Apache 2.4 и PHP 5.4 все из пакетов штатными средствами.

Первая проблема была с модулями PHP, нигде в описании проекта не было списка зависимостей. Но подозреваю что я как не PHP программист вероятно не знаю как определять что понадобится или должно быть «все» установлено на сервере. Собственно это даже не проблема была — все необходимые модули доустанавливась походу, после вычитывания логов.

И вот заработала!

Первый запуск — настройка. Генерируется root сертификат, путь для хранения сертификатов, в процессе создаются необходимые папки.

Вторая проблема. При настройке создается несколько файлов для OpenVPN, при генерации выдает ошибки что openssl не может записать .rnd файл. Но все при этом работает, для OpenVPN не пробовал генерировать, за не надобностью, но все остальное работает.

И последний гвоздь. Нет поддержки русского языка для сертификатов, вернее нет поддержки UTF8. Вот как выглядит сертификат сгенерированный с русскими буквами:

phpki сертификат с русскими буквами

phpki сертификат с русскими буквами

 

Проект вообще не поддерживает UTF8, добавление «string_mask = utf8only» в генерацию промежуточного конфига для openssl, как и добавление ключа -uft8 к строкам запуска ничего не дало. Видимо потому что проект не хочет сохранять конфиг UTF8. Вот как русские буквы выглядят изнутри:

phpki конфиг с русскими буквами

phpki конфиг с русскими буквами

 

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

Вместо послесловия. Проект очень маленький и достаточно простой, без использования классов, шаблонов и MVC технологий. Так что более менее опытный программист разберется быстро с помощью напильника доведет до нужного состояния. Для себя решил что это будет неплохим проектом для освоения PHP, и по возможности ( и если не найду готового решения) доделаю поддержу UTF8.

З.Ы. есть форк проекта на github-е он более поздний по сравнению с тем что на sourceforge. В основном там просто изменен режим шифрования с md5 на SHA.

Комментариев нет

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.