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

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

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

  3. CN должен соответствовать полному доменному имени, которое будет использоваться для доступа в браузере

  4. Сертификат должен содержать Alternative names данные

Загрузка сертификата в формате 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. Перезагрузить запрашиваемую страницу. Ошибка должна исчезнуть