Виртуальный аплайнс, используемый для запуска консоли управления 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
.
Подключаемся к аплайнсу SSMC по SSH под пользователем ssmcadmin и в начальном меню клавишей «X» переходим в командную оболочку.
Сначала выясним то, какой пароль установлен на оригинальное хранилище ключей в данный момент.
Прочитаем конфигурационный файл jetty-ssl-context.xml
:
$ cat /opt/hpe/ssmc/ssmcbase/etc/jetty-ssl-context.xml
Найдём в файле строки с паролем доступа к хранилищу, типа «OBF:…
».
В нашем случае это 'OBF:18rk1siq1pyv1k701l8b1vnw1vn61l4z1k761pvr1sgs18pq
'.
Теперь выясним что это за пароль. Для этого определим расположение файла 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!
».
Дальше сконфигурируем новое хранилище ключей 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 нам потребуется сертификат ЦС (и промежуточных ЦС если они используются)
Сохраняем файлы сертификатов в профиле пользователя и проверяем, что они читаются:
$ 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
Перезапускаем аплайнс, проверяем результат.
Проверено на следующих конфигурациях:
Версия SSMC |
---|
3.8.6.0.65 |
Автор первичной редакции:
Алексей Максимов
Время публикации: 28.08.2025 07:42