Процедура добавления сертификата для доступа к интерфейсу по имени ресурса вместо IP адреса

Для импорта сертификата необходим пакет java, установленный на машине, где развернуто ПО РТЛС.

Сертификаты без пароля не поддерживаются.

Загрузка сертификата в формате PKCS12

проверить соответствие формата можно с помощью команды pkcs12 -info -in RTLS.pfx

  1. Получить от администратора корпоративной сети хранилище PKCS12 с загруженным сертификатом

  2. Посмотреть 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
  3. Импортировать сертификат из хранилища 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
  4. Проверить результат импорта

    keytool -keystore rtls/srv/config/srv.keystore -list -v -alias jas
  5. Поменять пароль для импортированного сертификата, должен совпадать с паролем хранилища ключей

    keytool -keypasswd -keystore rtls/srv/config/srv.keystore -alias jas
  6. Перезапустить сервер

    docker restart rtls_srv_1

Загрузка сертификата в формате PEM

проверить соответствие формата можно с помощью команды openssl x509 -in RTLS.cer -noout -text

  1. Получить от администратора сети сертификат и private ключ (RTLS.crt , RTLS.key)

  2. Собрать ключи в p12 хранилище , RTLS.p12 файл хранилища на выходе процедуры

    openssl pkcs12 -inkey RTLS.key -in RTLS.crt -export -out RTLS.p12
  3. Проверить результат загрузки сертификата в хранилище , 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-----
    ...
    
  4. Удалить старый сертификат из хранилища ключей сервера

    keytool -delete -alias jas -keystore rtls/srv/config/srv.keystore
  5. Импортировать сертификат  в хранилище ключей сервера

    keytool -importkeystore -srckeystore RTLS.p12 -srcstoretype pkcs12 -destkeystore rtls/srv/config/srv.keystore -srcalias 1 -destalias jas
  6. Проверить результат импорта

    keytool -keystore rtls/srv/config/srv.keystore -list -v -alias jas
  7. Поменять пароль для импортированного сертификата, должен совпадать с паролем хранилища ключей

    keytool -keypasswd -keystore ~/rtls/srv/config/srv.keystore -alias jas
  8. Перезапустить сервер

    docker restart rtls_srv_1

Загрузка сертификата в формате PKCS7

проверить соответствие формата можно с помощью команды openssl pkcs7 -inform DER -outform PEM -in cert.p7b -print_certs

  1. Сконвертировать исходный сертификат в PEM формат

    openssl pkcs7 -inform DER -outform PEM -print_certs -in cert.p7b  -out RTLS.cer
  2. Проверить результат конвертации

    openssl x509 -in RTLS.cer -noout -text
  3. Произвести импорт согласно инструкции по импортированию сертификата в PEM формате


Добавление сертификата на стороне клиента (UI + API)

Для корректной работы с сертификатом в Chrome сертификат должен содержать информацию  subjectAltName

  1. Открыть настройки в Chrome

  2. Найти раздел “Настроить сертификаты”

  3. В всплывающем окне выбрать закладку “Доверенные корневые центры сертификации”

  4. По кнопке импорт добавить CA сертификат в список доверенных центров

  5. Перезагрузить запрашиваемую страницу. Ошибка должна исчезнуть