Пошаговые руководства, шпаргалки, полезные ссылки...
Блог IT-KBДискуссии
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
Виртуальный аплайнс, используемый для запуска консоли управления HPE 3PAR StoreServ Management Console (SSMC) 3.8.x построен на базе ОС Debian Linux и имеет встроенный веб-сервер. В конфигурации по умолчанию веб-консоль SSMC имеет само-подписанный SSL сертификат и если возникает необходимость в его замене на сертификат, выпущенный домеренным корпоративным ЦС, то в качестве отправной точки можно использовать процедуру, описанную в документе HPE SSMC 3.8.x Administrator Guide > Security settings > Creating and installing a CA-signed server certificate for SSMC.
В этой заметке мы рассмотрим процеду замены сертификата в соответсвии с указанным документом, но с небольшим отклонением (без правки конфигурационного файла jetty-ssl-context.xml). Будем действовать путём создания нового хранилища ключей Jetty Key Store (JKS) и последующей подмены оригинального файла хранилища /opt/hpe/ssmc/ssmcbase/etc/keystore.
jetty-ssl-context.xml
/opt/hpe/ssmc/ssmcbase/etc/keystore
Подключаемся к аплайнсу SSMC по SSH под пользователем ssmcadmin и в начальном меню клавишей «X» переходим в командную оболочку.
Сначала выясним то, какой пароль установлен на оригинальное хранилище ключей в данный момент. Прочитаем конфигурационный файл jetty-ssl-context.xml:
$ cat /opt/hpe/ssmc/ssmcbase/etc/jetty-ssl-context.xml
Найдём в файле строки с паролем доступа к хранилищу, типа «OBF:…». В нашем случае это 'OBF:18rk1siq1pyv1k701l8b1vnw1vn61l4z1k761pvr1sgs18pq'.
OBF:…
'OBF:18rk1siq1pyv1k701l8b1vnw1vn61l4z1k761pvr1sgs18pq
Теперь выясним что это за пароль. Для этого определим расположение файла jetty-util-*.jar:
jetty-util-*.jar
$ ls /opt/hpe/ssmc/jetty/lib/jetty-util-*.jar /opt/hpe/ssmc/jetty/lib/jetty-util-9.4.6.v20170531.jar
Теперь вызовем этот jar-файл для деобфускации пароля следующим образом:
$ /opt/hpe/ssmc/jre/bin/java -cp /opt/hpe/ssmc/jetty/lib/jetty-util-9.4.6.v20170531.jar org.eclipse.jetty.util.security.Password 'OBF:18rk1siq1pyv1k701l8b1vnw1vn61l4z1k761pvr1sgs18pq' 2025-08-25 21:43:38.071:INFO::main: Logging initialized @94ms to org.eclipse.jetty.util.log.StdErrLog BuyMore3PAR! OBF:18rk1siq1pyv1k701l8b1vnw1vn61l4z1k761pvr1sgs18pq MD5:c6e20c22becec3e6b559dc789628e3dc
Как видим, в нашей строке вида «OBF:18rk1siq1pyv1k701l8b1vnw1vn61l4z1k761pvr1sgs18pq» это пароль «BuyMore3PAR!».
OBF:18rk1siq1pyv1k701l8b1vnw1vn61l4z1k761pvr1sgs18pq
BuyMore3PAR!
Дальше сконфигурируем новое хранилище ключей JKS используя этот же пароль (чтобы потом не править конфиг /opt/hpe/ssmc/ssmcbase/etc/jetty-ssl-context.xml)
Пересоздаём JKS в профиле пользователя ssmcadmin:
$ export PATH=/opt/hpe/ssmc/ssmcbase/fips/jre/bin:$PATH $ cd /home/ssmcadmin $ cp /opt/hpe/ssmc/ssmcbase/etc/keystore ~/keystore.orig $ keytool -genkeypair -keystore keystore -storetype JKS -alias jetty -keyalg RSA -validity 1095 -ext "san=dns:kom-ssmc.holding.com,ip:10.10.2.16"
При вызове keytool будет запрошен пароль для открытия JKS, укажем наш пароль «BuyMore3PAR!». Будут запрошены реквизиты сертификатов … вводим те, которые хотим видеть в дальнейшем в сертификате SSMC Будет ещё запрошен пароль для хранения ключа (укажем тот же что от keystore): «BuyMore3PAR!».
Генерируем запрос сертификата:
$ keytool -certreq -keystore keystore -alias jetty -file ~/SSMC_csr.txt -ext "san=dns:kom-ssmc.holding.com,ip:10.10.2.16" $ cat ~/SSMC_csr.txt
При вызове keytool будет запрошен пароль для открытия JKS, укажем наш пароль «BuyMore3PAR!».
Передаём запрос сертификата (контент файла SSMC_csr.txt) в корпоративный ЦС, получаем сертификат. Кроме сертификата SSMC нам потребуется сертификат ЦС (и промежуточных ЦС если они используются) Сохраняем файлы сертификатов в профиле пользователя и проверяем, что они читаются:
SSMC_csr.txt
$ keytool -v -printcert -file SSMC_ca.txt $ keytool -v -printcert -file SSMC_cer.txt
Сначала импортируем сертификат ЦС, затем сертификат для SSMC. При вызове keytool будет запрошен пароль для открытия JKS, укажем наш пароль «BuyMore3PAR!».
$ keytool -import -alias root -keystore keystore -file SSMC_ca.txt $ keytool -import -alias jetty -keystore keystore -file SSMC_cer.txt
Подменяем оригинальный JKS на то, что мы только что создали и наполнили в своём профиле (перезаписать).
$ cp ~/keystore /opt/hpe/ssmc/ssmcbase/etc/keystore
Перезапускаем аплайнс, проверяем результат.
Проверено на следующих конфигурациях:
Автор первичной редакции: Алексей Максимов Время публикации: 28.08.2025 07:42