# Перейти в директорию корневого ЦА или выйти с ошибкой, если это не удалось
pushd"$ROOT_CA"||{ msg "Error: Failed to change directory to $ROOT_CA""Ошибка: Не удалось перейти в каталог $ROOT_CA";}
# Генерация RSA ключа для корневого ЦА с шифрованием AES-256
openssl genrsa -aes256 -out private/ca.key.pem -passout "pass:$SERT_PASS"4096||{ msg "Error: Failed to generate RSA key for root CA""Ошибка: Не удалось создать RSA‑ключ для корневого ЦА";}
# Установка прав доступа для ключа корневого ЦА
chmod 400 private/ca.key.pem
# Создание самоподписанного сертификата корневого ЦА
openssl req -config sertissuer.conf -key private/ca.key.pem -new -x509 -days "$VAL_DAYS" -sha256 -extensions v3_ca -out certs/ca.cert.pem -passin "pass:$SERT_PASS"||{ msg "Error: Failed to create root CA certificate""Ошибка: Не удалось создать сертификат корневого ЦА";}
# Установка прав доступа для сертификата корневого ЦА
chmod 444 certs/ca.cert.pem
# Отображение деталей сертификата корневого ЦА
openssl x509 -noout -text -in certs/ca.cert.pem ||{ msg "Error: Failed to display root CA certificate details""Ошибка: Не удалось вывести детали сертификата корневого ЦА";}
# Вернуться в исходную директорию или выйти с ошибкой, если это не удалось
popd||{ msg "Can't return to old directory""Невозможно вернуться к старому каталогу";}