Сертификаты EasyRSA
Создание центра сертификации можно немного упростить. Существует набор скриптов под названием EasyRSA, который позволяет инициализировать центр сертификации, а также подписывать и отзывать сертификаты. Сначала установите пакет easy-rsa из официальных репозиториев:
sudo apt install easy-rsa
Далее нужно создать папку в которой будут находится файлы центра сертификации. Например, в домашней папке:
mkdir ~/easy-rsa-ca
После этого скопируйте файлы из /usr/share/easy-rsa/ в эту папку:
cp -R /usr/share/easy-rsa/* ~/easy-rsa-ca
Дальше перейдите в неё и инициализируйте центр сертификации:
cd ~/easy-rsa-ca
./easyrsa init-pki
Прежде чем вы сможете создать сертификат, необходимо создать файл vars и в нём прописать информацию о центре сертификации:
nano ./vars
set_var EASYRSA_REQ_COUNTRY "US"
set_var EASYRSA_REQ_PROVINCE "California"
set_var EASYRSA_REQ_CITY "California"
set_var EASYRSA_REQ_ORG "Losst"
set_var EASYRSA_REQ_EMAIL "support@losst.pro"
set_var EASYRSA_REQ_OU "Losst"
set_var EASYRSA_ALGO "rsa"
set_var EASYRSA_DIGEST "sha512"
Первые 7 параметров аналогичны тем, что заполняются при создании запроса на подписание сертификата. Параметр EASYRSA_ALGO позволяет настроить алгоритм шифрования, можно использовать стандартный RSA или алгоритм на основе эллиптических кривых ES. Последний параметр, это формат подписи сертификатов. После этого можно создать сертификат CA:
./easyrsa build-ca
Для корневого сертификата необходимо задать пароль. Если этого не сделать, сертификат не будет создан:
А в Common Name можно указать название центра сертификации, которое будет отображаться в браузере в информации о том кем подписан сертификат:
После этого можно переходить к подписи CSR. Например, давайте подпишем domain.csr, который был создан ранее. Сначала этот запрос надо импортировать. Для этого используйте такую команду:
./easyrsa import-req ~/certs/domain-server.csr domain-server
В первом параметре нужно указать путь к фалу CSR, а во втором имя, с помощью которого вы будете взаимодействовать с сертификатом:
После этого вы можете подписать этот запрос используя имя, заданное при импорте:
./easyrsa sign-req server domain-server
Команде необходимо передать два параметра тип сертификата и имя запроса. Тип сертификата может быть server или client. Программа попросит подтвердить данные сертификата, наберите yes и нажмите Enter:
Затем нужно будет ввести пароль от корневого сертификата. После этого будет создан новый сертификат в папке pki/issued с расширением .crt:





