Процедура добавления сертификата для доступа к интерфейсу по имени ресурса вместо IP адреса |
Для импорта сертификата необходим пакет java, установленный на машине, где развернуто ПО РТЛС. Сертификаты без пароля не поддерживаются. |
Получить от администратора корпоративной сети хранилище PKCS12 с загруженным сертификатом
Посмотреть alias сертификата, с которым он был добавлен в хранилище (в примере файл RTLS.pfx) - поле friendlyName , your-server-alias имя ресурса, на которое выписан сертификат
pkcs12 -info -in RTLS.pfx
Enter Import Password:
MAC:sha1 Iteration 2000
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
Bag Attributes
localKeyID: 01 00 00 00
friendlyName: your-server-alias
Microsoft CSP Name: Microsoft RSA SChannel Cryptographic Provider
Key Attributes
X509v3 Key Usage: 10 |
Импортировать сертификат из хранилища PKCS12 (RTLS.pfx) в хранилище ключей сервера (rtls/srv/config/srv.keystore). Пароль для серверного хранилища по умолчанию changeit, your-server-alias имя для которого импортируется сертификат в хранилище
keytool -importkeystore -srckeystore RTLS.pfx -srcstoretype pkcs12 -destkeystore rtls/srv/config/srv.keystore -deststoretype jks -srcalias your-server-alias -destalias jas |
Проверить результат импорта
keytool -keystore rtls/srv/config/srv.keystore -list -v -alias jas |
Поменять пароль для импортированного сертификата, должен совпадать с паролем хранилища ключей
keytool -keypasswd -keystore rtls/srv/config/srv.keystore -alias jas |
Перезапустить сервер
docker restart rtls_srv_1 |
Получить от администратора сети сертификат и private ключ (RTLS.crt , RTLS.key)
Собрать ключи в p12 хранилище , RTLS.p12 файл хранилища на выходе процедуры
openssl pkcs12 -inkey RTLS.key -in RTLS.crt -export -out RTLS.p12 |
Проверить результат загрузки сертификата в хранилище , your-server-alias имя ресурса, на которое выписан сертификат
openssl pkcs12 -info -in RTLS.p12
Enter Import Password:
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: 21 65 46 0B CF 7F 60 EB D0 BF 94 31 95 1B AA CB 9D FD 16 EA
subject=/C=RU/L=Moscow/O=RTLS/OU=SRV/CN=your-server-alias/emailAddress=info@rtlsnet.ru
issuer=/C=RU/L=Moscow/O=RTLS/OU=SRV/CN=rtls-demo/emailAddress=info@rtlsnet.ru
-----BEGIN CERTIFICATE-----
...
|
Удалить старый сертификат из хранилища ключей сервера
keytool -delete -alias jas -keystore rtls/srv/config/srv.keystore |
Импортировать сертификат в хранилище ключей сервера
keytool -importkeystore -srckeystore RTLS.p12 -srcstoretype pkcs12 -destkeystore rtls/srv/config/srv.keystore -srcalias 1 -destalias jas |
Проверить результат импорта
keytool -keystore rtls/srv/config/srv.keystore -list -v -alias jas |
Поменять пароль для импортированного сертификата, должен совпадать с паролем хранилища ключей
keytool -keypasswd -keystore ~/rtls/srv/config/srv.keystore -alias jas |
Перезапустить сервер
docker restart rtls_srv_1 |
Для корректной работы с сертификатом в Chrome сертификат должен содержать информацию subjectAltName |
Открыть настройки в Chrome
Найти раздел “Настроить сертификаты”
В всплывающем окне выбрать закладку “Доверенные корневые центры сертификации”
По кнопке импорт добавить CA сертификат в список доверенных центров
Перезагрузить запрашиваемую страницу. Ошибка должна исчезнуть