===== Замена само-подписанного SSL-сертификата HPE 3PAR StoreServ Management Console (SSMC) ===== {{.:pasted:20250828-075213.png }} Виртуальный аплайнс, используемый для запуска консоли управления **HPE 3PAR StoreServ Management Console** (**SSMC**) **3.8.x** построен на базе ОС **Debian Linux** и имеет встроенный веб-сервер. В конфигурации по умолчанию веб-консоль SSMC имеет само-подписанный **SSL** сертификат и если возникает необходимость в его замене на сертификат, выпущенный домеренным корпоративным ЦС, то в качестве отправной точки можно использовать процедуру, описанную в документе [[https://support.hpe.com/hpesc/public/docDisplay?docId=sd00001200en_us&page=GUID-755A4E9C-D341-4E8A-85C8-78429A14E918.html |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 ==== Пересоздаём **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!''". ---- ==== Создаём CSR-запрос ==== Генерируем запрос сертификата:
$ 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!''". ---- ==== Получаем PEM-сертификат из ЦС ==== Передаём запрос сертификата (контент файла ''SSMC_csr.txt'') в корпоративный ЦС, получаем сертификат. Кроме сертификата SSMC нам потребуется сертификат ЦС (и промежуточных ЦС если они используются) Сохраняем файлы сертификатов в профиле пользователя и проверяем, что они читаются:
$ keytool -v -printcert -file SSMC_ca.txt
$ keytool -v -printcert -file SSMC_cer.txt
---- ==== Импортируем сертификаты в JKS ==== Сначала импортируем сертификат ЦС, затем сертификат для 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 ==== Подменяем оригинальный JKS на то, что мы только что создали и наполнили в своём профиле (перезаписать).
$ cp ~/keystore /opt/hpe/ssmc/ssmcbase/etc/keystore
Перезапускаем аплайнс, проверяем результат. ---- Проверено на следующих конфигурациях: ^ Версия SSMC ^ | 3.8.6.0.65 | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 28.08.2025 07:42 {{tag>HP HPE 3PAR Primera "3PAR Management Console" "3PAR StoreServ Management Console" SSMC SSL Certificate Security JKS}} ~~DISCUSSION~~