от Beco(19-03-2006)

рейтинг (20)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Зареждане на удостоверителски X.509 сертификати в сертификатното хранилище на Psi

Copyright ©2006 Веселин Колев, Софийски Университет „Св. Климент Охридски“

Лиценз на документа: CC Attribution-ShareAlike

Съдържание на лиценза: http://creativecommons.org/licenses/by-sa/2.5/

Клиентът Psi е популярен клиент за протокола xmpp. Интернет страницата на проекта се намира на адрес:

Този документ, представлява ръководство, имащо за цел да облекчи потребителите в прибавяне на удостоверителски X.509 сертификати при работа в SSL режим на връзка до jabber сървър чрез клиента Psi.

  1. Поддържани X.509 сертификатни формати.
  2. Смяна на формата на X.509 сертификати
  3. Устройство на сертификатното хранилище за удостоверителски X.509 сертификати на Psi
  4. Поставяне на удостоверителски X.509 сертификат в хранилището

1. Поддържани X.509 сертификатни формати.

Единственият поддържан формат в хранилището за удостоверителски X.509 сертификати на Psi е Base64. Сертификатът, който ще бъде поставян в хранилището трябва да бъде приведен в този формат, преди да бъде поставен в сертификатното хранилище. За повече подробности, виж "Смяна на формата на X.509 сертификати".

2. Смяна на формата на X.509 сертификати.

X.509 сертификатите се съхраняват под формата на файлове в два формата: бинарен, наричан още DER и ASCII (в него сертификата е в Base64 кодирано представяне), наричан още PEM. Чрез инструмента openssl даден файлово съхраняван сертификат може да се прехвърли от един в друг формат бързо и безпроблемно.

Прехвърляне на сертификат от формат PEM във формат DER:

$ openssl x509 -inform PEM -in certfile.pem -outform DER -out certfile.der

Прехвърляне на сертификат от формат DER във формат PEM

$ openssl x509 -inform DER -in certfile.der -outform PEM -out certfile.pem

3. Устройство на сертификатното хранилище за удостоверителски X.509 сертификати на Psi.

Към момента на написването на този документ, текущата версия на Psi поддържа както централизирано за системата хранилище с X.509 сертификати, така и персонално сертификатно хранилище в профила на Psi в домашната потребителска директория (${HOME}/.psi). Хранилището представлява единствен файл с XML структура и наименование rootcert.xml. Докато персоналното хранилище за X.509 сертификати на Psi може да бъде редактирано от потребителя, в чиято домашна директория се намира то, централизираното сертификатно хранилище на Psi за системата трябва да може да бъде редактирано само от супер потребител (root).

В пакетите psi, които са налични за Fedora Core (налични в колекцията пакети extras) или Red Hat Enterprise Linux (последните от колекцията на Dag Wieers), централизираното хранилище се намира във файла /usr/share/psi/certs/rootcert.xml. Пак в споменатите две дистрибуции, персоналното хранилище на X.509 сертификати се намира в ${HOME}/.psi/certs/rootcert.xml, където с ${HOME} е означена домашната директория на потребителя.

Елементната структура на XML файла rootcert.xml е следната:

<storage>
<certificate>
<data>base64_encoded_X.509_certificate</data>
...
<data>base64_encoded_X.509_certificate</data>
</certificate>
</storage>

При проверка на X.509 сертификата на хост се претърсват и двете (системното и потребителското) хранилища на удостоверителски X.509 сертификати. Това отменя копирането на X.509 сертификатите от системното хранилище в потребителското.

4. Поставяне на удостоверителски X.509 сертификат в хранилището

В хранилището може да се поставя само Base64 кодиран сертификат. Това означава, че ако се разполага с бинарно копие на сеертификата, то трябва да се конвертира до PEM формат (виж "Смяна на формата на X.509 сертификати"). При това сертификатът трябва да бъде изваден от ASCII структурата на файла. Обикновено тази структура започва с

-----BEGIN CERTIFICATE-----

и завършва с

-----END CERTIFICATE-----

Между тези два структурни елемента се намира самият Base64 форматиран X.509 сертификат. Той обаче се намира на отделни редове, а в структурата на rootcert.xml се изисква сертификата да се разполага на един ред, затворен между елементите и . За това е нужно да се извърши форматиране, с цел съединяване на сертификата от редовете в ASCII структурата. Най-простият начин за съединяване може да се опише чрез следния команден ред:

$ grep -v CERTIFICATE certfile.pem | tr -d '\n' > psi-cert-template.pem

Така във файла psi-cert-template.pem ще се съдържа съединения в един ред X.509 сертификат и той може да се копира от там и да се постави в елементната структура на файла rootcert.xml.



<< Кратко ръководство за работа с текстовия редактор Vi | "Sony Ericsson K750 и Linux" 2 >>