#!/bin/bash

echo "
#######################################################################################################################
#
# 					СКРИПТ ЗАМЕНЫ КЛЮЧЕЙ АВТОПОДПИСАНТА (КОНТРОЛЕРА)
#
#
#
#######################################################################################################################"\




#проверка пользователя

if [ `whoami` != 'root' ]; then
	echo "Скрипт нужно запускать из-под root-пользователя!"
	tput sgr0;
	exit 0
fi;
sleep 2
sudo apt-get update
sudo apt-get install openssl
mkdir /home/openssl/
cd /home/openssl/
echo "
#######################################################################################################################
#
# 					Генерируем приватный ключ, придумайте и обязательно запишите пароль
#
#
#
#######################################################################################################################"\



sleep 2
openssl genrsa -aes256 -out ./private_key.pem 2048

echo "
#######################################################################################################################
#
# 		    Вводим пароль от приватного ключа и заполняем информацию сертификата
#                   Всю информацию необходимо заполнять на английском языке.
#
#
#          Пример заполнения ниже :
#                   Country Name (2 letter code) [AU]: RU                                      #Наименование страны (2 символа)
#                   State or Province Name (full name) [Some-State]: Moscow                    #Наименование области
#                   Locality Name (eg, city) []: Moscow                                        #Наименование города
#                   Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cyberplat       #Наименование организации
#                   Organizational Unit Name (eg, section) []:CyberFT                          #Наименование отдела организации
#                   Common Name (e.g. server FQDN or YOUR name) []:SABRRUMMXXXX                #Id Терминала или ФИО председателя правления
#                     
#                   Остальные параметры можно пропустить.
#
#
#######################################################################################################################"\

sleep 2
openssl req -new -sha256 -key ./private_key.pem -out ./openkey.csr

echo "
#######################################################################################################################
#
# 					Еще раз вводим пароль от приватного ключа
#
#
#
#######################################################################################################################"\

sleep 2

openssl x509 -req -in ./openkey.csr -signkey ./private_key.pem -out ./certificate.pem -sha256 -days 365

echo "
#######################################################################################################################
#
# 					Последний раз вводим пароль от приватного ключа
#
#
#
#######################################################################################################################"\

sleep 2
openssl rsa -in private_key.pem -pubout > key.pub
if [ `find certificate.pem private_key.pem | wc -l` -eq 0 ]; then
        echo "Отсутствуют файлы в директории, положите certificate.pem + private_key.pem в папку /home/openssl/"
	exit 1
fi

mv certificate.pem /var/www/cyberswift/storage/keys/autobot.crt
mv private_key.pem /var/www/cyberswift/storage/keys/autobot.key
mv key.pub /var/www/cyberswift/storage/keys/autobot.pub
/var/www/cyberswift/www/yii terminal/register-key-attributes /var/www/cyberswift/storage/keys/autobot.key /var/www/cyberswift/storage/keys/autobot.crt /var/www/cyberswift/storage/keys/autobot.pub
echo "
#######################################################################################################################
#
# 		    Ключи автоподписанта (контролера) успешно загружены, 
#                   пожалуйста проверьте в web-интерфейсе (Настройки - Автоподписант).
#                   Bye!
#
#
#######################################################################################################################"\


