Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
Одной из задач, которая может возникнуть перед администратором Symantec LiveUpdate Administrator (LUA), является замена автоматически сгенерированного в процессе установки само-подписанного цифрового SSL-сертификата, который используется для защиты соединения веб-сервером Tomcat из состава LUA. Чтобы выполнить данную задачу, за основу возьмём последовательность действий, описанную в посте LiveUpdate Administrator – HOWTO changing the SSL Certificate
Первый делом получаем из доверенного Центра Сертификации (ЦС) сертификат в формате PKCS #12 [.PFX], содержащий все желаемые имена для нашего веб-сервера LUA. В моём случае используется SAN-сертификат, полученный от ЦС на базе Windows Server. Сертификат был запрошен непосредственно с сервера LUA (через оснастку управления сертификатами в mmc.exe). При формировании запроса сертификата нужно учесть ряд параметров:
После того, ка сертификат получен от ЦС и установлен на сервер, через оснастку управления сертификатами в mmc.exe выполняем экспорт этого сертификата в паре с закрытым ключом в защищённый паролем PFX-файл.
Базовую информацию о замене сертификата в LUA можем посмотреть в документе Symantec Article TECH227252 - Replace LiveUpdate Administrator certificate. Кратко говоря, LUA использует веб-сервер Tomcat, который в свою очередь, использует файл формата Java Keystore (JKS) для хранения сертификата и его закрытого ключа. Нам потребуется создать новый JKS-файл и заменить этим файлом JKS-файл, используемый в Tomcat.
Имя этого файла server-cert.ssl и хранится он в каталоге установки LUA. По умолчанию это каталог C:\Program Files (x86)\Symantec\LiveUpdate Administrator\.
Итак, нам нужно удалить используемый JKS-файл server-cert.ssl, предварительно сохранив его копию (на случай возврата на прежнее место, если что-то пойдёт «не так»)
Открываем с правами Администратора командную строку и переходим в каталог установки LUA:
cd /d C:\Program Files (x86)\Symantec\LiveUpdate Administrator
Делаем резервную копию JKS-файла и затем удаляем его:
copy server-cert.ssl server-cert.ssl.orig del server-cert.ssl
Переходим в каталог подкаталог \jre\bin в каталоге установки LUA:
cd /d C:\Program Files (x86)\Symantec\LiveUpdate Administrator\jre\bin
Конвертируем PFX-файл в новый JKS-файл хранилища сертификатов (будет сгенерирован новый файл server-cert.ssl), указав пароль от PFX-файла (в нашем примере pfxP@ssw0rd) и задав собственный пароль для создаваемого JKS-хранилища (в нашем примере LuAjKsPazW0rd):
pfxP@ssw0rd
LuAjKsPazW0rd
keytool.exe -importkeystore -srckeystore "C:\Temp\cert.pfx" \ -destkeystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl" \ -srcstoretype PKCS12 -deststoretype JKS \ -srcstorepass pfxP@ssw0rd -deststorepass LuAjKsPazW0rd
В процессе генерации будет выведено соообщение типа:
Entry for alias le-7e56697b-1b56-485c-88de-1b05f8c49375 successfully imported. Import command completed: 1 entries successfully imported, 0 entries failed or cancelled
Поменяем алиас имортированного сертификата с сгенерированного значения (в нашем примере le-7e56697b-1b56-485c-88de-1b05f8c49375) на значение lua
le-7e56697b-1b56-485c-88de-1b05f8c49375
lua
keytool.exe -changealias \ -alias le-7e56697b-1b56-485c-88de-1b05f8c49375 -destalias lua \ -keypass pfxP@ssw0rd -storepass LuAjKsPazW0rd \ -keystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl"
Чтобы проверить список сертификатов имеющихся в JKS-хранилище можно выполнить команду:
keytool.exe -list -v \ -keystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl" \ -storepass LuAjKsPazW0rd
Дополнительно устанавливаем пароль на доступ к ключу в JKS-хранилище таким же, как установлен пароль на доступ к самому хранилищу:
keytool.exe -keypasswd -alias lua \ -keypass pfxP@ssw0rd -new LuAjKsPazW0rd -storepass LuAjKsPazW0rd \ -keystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl"
Не забываем удалить PFX-файл из временной папки:
del "C:\Temp\cert.pfx"
Найдём файл catalina.properties в подкаталоге \tomcat\conf каталога установки LUA. Откроем этот файл в текстовом редакторе и закомментируем строку (постваим символ # в начале строки):
... org.apache.tomcat.util.digester.PROPERTY_SOURCE=com.symantec.lua.SSLPasswordDecrypt ...
Аналогичным образом закомментируем строку со старым параметром ks.password. Затем добавим новую строку, в которой в параметре ks.password укажем пароль на доступ к JKS-хранилищу, который мы задали ранее. В конечном итоге конец файла catalina.properties примет примерно следующий вид:
ks.password
... ks.password=LuAjKsPazW0rd # ks.password=YqnftEU2J4Og5oF98l6eGQ== # org.apache.tomcat.util.digester.PROPERTY_SOURCE=com.symantec.lua.SSLPasswordDecrypt
Чтобы веб-сервер LUA подхватил наше новое JKS-хранилище, перезагружаем службу LUA Apache Tomcat:
net stop LUATomcat & net start LUATomcat
Имейте ввиду, что служба может останавливаться длительное время. Кроме того, после запуска службы веб-консоль сервера LUA может быть недоступна длительно время (до тех пор пока не закончится инициализация веб-приложения).
В свойствах ярлыка для запуска LiveUpdate Administrator есть ссылка на файл «C:\Program Files (x86)\Symantec\LiveUpdate Administrator\LiveUpdate Administrator.bat». Поменяем в этом файле ссылку на использование нужного нам имени, например FQDN сервера и укажем протокол HTTPS порт (по умолчанию для HTTPS используется порт 7073):
C:\Program Files (x86)\Symantec\LiveUpdate Administrator\LiveUpdate Administrator.bat
start https://KOM-AD01-LUA01.holding.com:7073/lua
После этого запускаем ярлык и проверяем результат - веб-консоль LUA должна использовать для протокола HTTPS установленный нами в JKS-хранилище сертификат, и теперь браузер не будет «ругаться» о недоверии сертификату.
Автор первичной редакции: Алексей Максимов Время публикации: 19.05.2017 20:20