среда, 7 октября 2026 г.

Продление сертификата STS в vCenter 6.x

 Для продления сертификата STS до 10 лет проще всего обновить vCenter Server до версии 7.0, но если вы застряли на версии 6.x, то можете попробовать такой способ:

Сделайте офлайн snapshot VCSA!

Получите закрытый ключ и сертификат из VMDIR:
/opt/likewise/bin/ldapsearch -h localhost -p 389 -b "cn=vsphere.local,cn=Tenants,cn=IdentityManager,cn=Services,dc=vsphere,dc=local" -D "cn=administrator,cn=users,dc=vsphere,dc=local" -w "<пароль>" "(objectclass=vmwSTSTenantCredential)"

Сохраните их в формате PEM добавив заголовки "BEGIN PRIVATE KEY" или "BEGIN CERTIFICATE".

Подпишите новый сертификат с ключом --genCIScert вместо --gencert из документации:
/usr/lib/vmware-vmca/bin/certool --genCIScert --privkey=/root/sts.key --cert=/root/sts.crt --Name=ssoserverSign --FQDN=<VCSA FQDN>

Замените сертификат по инструкции через старый флешевый vSphere Web Client.

Удалите промежуточное хранилище в VECS, которое было создано в пункте 2:
/usr/lib/vmware-vmafd/bin/vecs-cli store delete --name ssoserverSign

Проверьте, что всё работает корректно и при необходимости исправьте ошибки или откатитесь на резервную копию.

Бонус: подчищаем хвосты от обновлений

После некоторых операций остаются лишние хранилища и сертификаты в VECS, которые можно убрать для упрощения обслуживания. К ним относятся:

Старые сертификаты доверенных CA, их удаление описано в KB2146011.

Старые сертификаты в BACKUP_STORE для отката в certificate-manager можно удалить скриптом из KB82560.

Хранилище с именем <vCenter FQDN> появляется при переименовании vCenter Server Appliance через VAMI, можно удалить после перезагрузки.

STS_INTERNAL_SSL_CERT из KB76144 остаётся при обновлении с vCenter 6.0, перед удалением надо изменить хранилище на MACHINE_SSL_CERT в конфигурации vmware-sts:
sed -i 's/STS_INTERNAL_SSL_CERT/MACHINE_SSL_CERT/' /usr/lib/vmware-sso/vmware-sts/conf/server.xml
/usr/lib/vmware-vmafd/bin/vecs-cli store delete --name STS_INTERNAL_SSL_CERT
service-control --restart vmware-stsd

Надеюсь инструкция будет кому-то полезна и потеряет актуальность с осенним релизом vSphere 8 или обновлением lsdoctor, но пока лучших вариантов не нашлось.

Обновление от 09.08.2022

Оказывается у GSS есть навороченный скрипт vCert.sh (зеркало) для починки всего связанного с сертификатами, кроме продления solution users до 10 лет.

Обновление от 02.11.2022

Новые баги в комментариях.

Обновление от 25.04.2025

Полуофициальный vCert.sh заменил официальный vCert.py из KB385107 с идентичным UI и набором фич.

Источникhttps://habr.com/ru/articles/678918/

Комментариев нет:

Отправить комментарий