====== 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}}