====== XCA ======
{{:xca:bigkey.png|}}
(**X** **C**ertificate and Key m**a**nagement) это программа, предоставляющая интерфейс для управления асимметричными ключами RSA/DSA. Программа может использоваться для создания и подписывания сертификатов в рамках небольшого ЦС(CA) и создать собственную инфраструктуру открытых ключей (PKI).
Для шифрования используется библиотека [[openssl:openssl|OpenSSL]].
Основные возможности:
* Программа позволяет создавать собственные сертификаты, запросы и списки отзыва (CRL)
* Импорт и экспорт ключей в форматах:
* ''PEM''
* ''DER''
* ''PKCS#7''
* ''PKCS#12''
* Можно управлять Smart-картами через интерфейс ''PKCS#11''
* Экспортировать сертификаты и запросы в файл настроек [[openssl:openssl|OpenSSL]]
* Есть возможность создавать шаблоны для создания сертификатов
* Шаблон можно создать на основе готового сертификата
* Есть поддержка расширений ''x509v3''
* Можно изменять ширину столбцов
Можно использовать для работы с
* [[ipsec:ipsec|IPsec]]
* **[[xca:openvpn|OpenVPN]]**
* **[[xca:ssh_keys|SSH]]**
* **[[xca:libvrt|libvrt]]**
Стандарты:
* PKCS#1 unencrypted RSA key storage format.
* PKCS#7 Collection of public certificates.
* PKCS#8 Encrypted private key format for RSA DSA EC keys.
* PKCS#10 Certificate signing request.
* PKCS#11 Security token / Smart card / HSM access.
* PKCS#12 Certificate, Private key and probably a CA chain.
Форматы файлов:
* DER (Distinguished Encoding Rules) — бинарный формат
* PEM Privacy Enhanced Mail — текстовый формат
* SSH2 — Публичные ключи SSH
Удобство использования:
* Templates for common subjects and extensions.
* All subject entries, x509v3 extensions, and other properties can be displayed in separate columns.
* Customizable subject entries
* Drag & Drop support
* Many certificate setting sanity checks
* Easy association and transformation between keys, certificates and requests
http://hohnstaedt.de/xca/
http://hohnstaedt.de/xca/index.php/download
https://github.com/chris2511/xca/
====== Установка ======
apt install xca
====== Компиляция ======
Необходимые пакеты:
apt install autoconf g++ libltdl-dev qt4-dev-tools libssl-dev pkg-config git
Пример для версии 2.1.2
Загрузка и компиляция:
#!/bin/bash
cd /tmp/
wget https://github.com/chris2511/xca/archive/RELEASE.2.1.2.tar.gz
tar -xvf RELEASE.2.1.2.tar.gz
cd /tmp/xca-RELEASE.2.1.2
./bootstrap
./configure; make -j6; make install
Пример для актуальной версии:
#!/bin/bash
cd /tmp/
git clone https://github.com/chris2511/xca.git
cd /tmp/xca
./bootstrap
./configure; make -j6; make install
====== Типовые действия ======
* [[#Отзыв сертификата]]
* [[#Экспорт списка отзыва]]
* [[#Экспорт сертификата]]
* [[#Экспорт закрытого ключа]]
* [[#Генерация параметров Диффи — Хеллмана]]
===== Отзыв сертификата =====
- Перейти на вкладку ''Сертификаты''
- Выбрать нужный ''Сертификат''
- Нажать правую кнопку мыши и в контекстном меню выбрать ''Отозвать''
- Выполнить [[#Экспорт списка отзыва]]
===== Экспорт списка отзыва =====
- Перейти на вкладку Сертификаты
- Выбрать нужный ''Центр сертификации'' (ЦС)
- Нажать правую кнопку мыши и в контекстном меню выбрать ЦС/Сгенерировать CRL
- Задать нужные значения и нажать кнопку OK
- Перейти на вкладку ''Списки отзыва сертификатов''
- Выбрать нужный ''Список отзыва''
- Нажать на кнопку ''Экспорт''
- В окне "Экспорт списка отзывов" нужно задать путь и имя файла, формат файла PEM (*.pem)
- нажать кнопку OK
===== Экспорт сертификата =====
- Перейти на вкладку ''Сертификаты''
- Выбрать нужный ''Сертификат''
- Нажать кнопку Экспорт
- В появившемся окне нужно в поле ''Формат сертификата'' выбрать ''PEM (*.crt)'', указать путь к файлу
- Нажать кнопку OK
===== Экспорт закрытого ключа =====
- Перейти на вкладку ''Закрытые ключи''
- Выбрать нужный ''Закрытый ключ''
- Нажать кнопку Экспорт
- В появившемся окне нужно в поле ''Формат для экспорта'' выбрать ''Закрытый ключ PEM (*.pem)'', указать путь к файлу
- Нажать кнопку OK
===== Генерация параметров Диффи — Хеллмана =====
[[encryption:encryption#dh|Алгоритм обмена Диффи-Хеллмана (DH)]]
- Меню ''Дополнительно/Сгенерировать параметры Диффи — Хеллмана''
- В окне появившемся окне нужно выбрать ''2048''
- Нажать кнопку OK
- Начнётся процесс генерации, который может занять несколько минут!
- После появится диалог с переложением сохранить из в файл ''dh2048.pem''
====== Поля ======
===== Internal Name =====
Это имя используется только внутри программы [[xca:xca|XCA]] и не сохранятся в сертификате.
===== countryName =====
''[C]'' Код страны (два символа), например ''RU''
===== stateOfProvinceName =====
''[ST]'' Регион (область, республика) внутри страны (128 символов).
===== localityName =====
''[L]'' Город или населённый пункт (128 символов).
===== organizationName =====
''[O]'' Наименование организации (64 символа).
===== organizationUnitName =====
''[OU]'' Наименование подразделения организации.
===== commonName =====
''[CN]'' Наименование субъекта. (64 символа).
===== emailAddress =====
Адрес электронной почты (128 7-битных символов).
====== Перевод ======
Для перевода нужно использовать [[qt:qt#Linguist|Qt linguist]]
Исходный файл ''xca_ru.ts'' нужно скомпилировать в ''xca_ru.qm''
lrelease xca_ru.ts
----
https://hohnstaedt.de/xca/index.php/colaboration/translation
====== Ссылки ======
https://www.hohnstaedt.de/xca/templates/g5_hydrogen/custom/images/bigcert.png
https://www.hohnstaedt.de/xca/templates/g5_hydrogen/custom/images/bigkey.png
[[http://habrahabr.ru/post/122537/|Защищенный канал передачи данных с помощью самоподписанных SSL-сертификатов и Stunnel]]
[[https://habr.com/post/357668/|XCA – удостоверяющий центр уровня предприятия или сага о русских и немецких программистах / Хабр]]
{{tag>Encryption Linux MS_Windows}}