# Перейти в директорию промежуточного ЦА или выйти с ошибкой, если это не удалось
# Перейти в директорию промежуточного ЦА или выйти с ошибкой, если это не удалось
pushd"$IMM_CA"||{msg "Error: Failed to change directory to $IMM_CA""Ошибка: Не удалось перейти в каталог $IMM_CA";}
pushd"$IMM_CA"|| msg "Error: Failed to change directory to $IMM_CA""Ошибка: Не удалось перейти в каталог $IMM_CA"
# Генерация RSA ключа для промежуточного ЦА с шифрованием AES-256
# Генерация RSA ключа для промежуточного ЦА с шифрованием AES-256
openssl genrsa -aes256 -out private/intermediate.key.pem -passout "pass:$SERT_PASS"4096||{msg "Error: Failed to generate RSA key for intermediate CA""Ошибка: Не удалось создать RSA‑ключ для промежуточного ЦА";}
openssl genrsa -aes256 -out private/intermediate.key.pem -passout "pass:$SERT_PASS"4096|| msg "Error: Failed to generate RSA key for intermediate CA""Ошибка: Не удалось создать RSA‑ключ для промежуточного ЦА"
# Установка прав доступа для ключа промежуточного ЦА
# Установка прав доступа для ключа промежуточного ЦА
chmod 400 private/intermediate.key.pem
chmod 400 private/intermediate.key.pem
# Создание CSR для промежуточного ЦА
# Создание CSR для промежуточного ЦА
openssl req -config immissuer.conf -new -sha256 -key private/intermediate.key.pem -out csr/intermediate.csr.pem -passin "pass:$SERT_PASS"||{msg "Error: Failed to create CSR for intermediate CA""Ошибка: Не удалось создать запрос на сертификат для промежуточного ЦА";}
openssl req -config immissuer.conf -new -sha256 -key private/intermediate.key.pem -out csr/intermediate.csr.pem -passin "pass:$SERT_PASS"|| msg "Error: Failed to create CSR for intermediate CA""Ошибка: Не удалось создать запрос на сертификат для промежуточного ЦА"
# Вернуться в исходную директорию или выйти с ошибкой, если это не удалось
# Вернуться в исходную директорию или выйти с ошибкой, если это не удалось
popd||{msg "Can't return to old directory""Невозможно вернуться к старому каталогу";}
popd|| msg "Can't return to old directory""Невозможно вернуться к старому каталогу"
# Перейти в директорию корневого ЦА или выйти с ошибкой, если это не удалось
# Перейти в директорию корневого ЦА или выйти с ошибкой, если это не удалось
pushd"$ROOT_CA"||{msg "Error: Failed to change directory to $ROOT_CA""Ошибка: Не удалось перейти в каталог $ROOT_CA";}
pushd"$ROOT_CA"|| msg "Error: Failed to change directory to $ROOT_CA""Ошибка: Не удалось перейти в каталог $ROOT_CA"
# Вернуться в исходную директорию или выйти с ошибкой, если это не удалось
# Вернуться в исходную директорию или выйти с ошибкой, если это не удалось
popd||{msg "Can't return to old directory""Невозможно вернуться к старому каталогу";}
popd|| msg "Can't return to old directory""Невозможно вернуться к старому каталогу"
# Создание цепочки сертификатов
# Создание цепочки сертификатов
cat "$IMM_CA/certs/intermediate.cert.pem""$ROOT_CA/certs/ca.cert.pem" >"$IMM_CA/certs/ca-chain.cert.pem"||{msg "Error: Failed to create CA chain certificate""Ошибка: Не удалось создать цепочку сертификатов ЦА";}
cat "$IMM_CA/certs/intermediate.cert.pem""$ROOT_CA/certs/ca.cert.pem" >"$IMM_CA/certs/ca-chain.cert.pem"|| msg "Error: Failed to create CA chain certificate""Ошибка: Не удалось создать цепочку сертификатов ЦА"
# Проверка сертификата промежуточного ЦА с использованием корневого центра сертификации
# Проверка сертификата промежуточного ЦА с использованием корневого центра сертификации
openssl verify -CAfile "$ROOT_CA/certs/ca.cert.pem""$IMM_CA/certs/intermediate.cert.pem"||{ msg "Error: Failed to verify intermediate CA certificate""Ошибка: Не удалось проверить сертификат промежуточного ЦА";}
openssl verify -CAfile "$ROOT_CA/certs/ca.cert.pem""$IMM_CA/certs/intermediate.cert.pem"|| msg "Error: Failed to verify intermediate CA certificate""Ошибка: Не удалось проверить сертификат промежуточного ЦА"
fi
fi
# Конец создания промежуточного CA
# Конец создания промежуточного CA
@ -308,14 +290,7 @@ EOF
popd|| exit
popd|| exit
pushd"$IMM_CA"||{
pushd"$IMM_CA"|| msg "Error: Could not change directory to $IMM_CA""Ошибка: не удалось перейти в каталог $IMM_CA"
if["$LANG_RU" -eq 1];then
echo"Ошибка: не удалось перейти в каталог $IMM_CA"
else
echo"Error: Could not change directory to $IMM_CA"