Использование SSL-сертификатов Lets Encrypt с перекрестным маршрутизатором WAMP (0.13)

Сертификат был сгенерирован из Let's Encrypt и установлен на существующий (работающий) сервер crossbar следующим образом (и как документация предлагает):

"endpoint": {
    "type": "tcp",
    "port": 8089,
    "tls": {
      "key": "../ssl/key.pem",
      "certificate": "../ssl/cert.pem"
    }
  },

При подключении через Java (я уверен, что результат был бы таким же, если бы в других API были сформулированы по-другому) результат:

java.security.cert.CertPathValidatorException: якорь доверия для пути сертификации не найден

Было установлено, что это может быть связано с требованием промежуточного сертификата Let's Encrypt, который был связан следующим образом:

"endpoint": {
    "type": "tcp",
    "port": 8089,
    "tls": {
      "key": "../ssl/key.pem",
      "certificate": "../ssl/cert.pem",
      "ca_certificates": [
           "../ssl/intermediate.cert.pem"
       ],
    }
  },

К сожалению, это также не работает, что приводит к ошибке рукопожатия (точную формулировку я не записал).


person M1ke    schedule 27.11.2018    source источник


Ответы (1)


Копаясь дальше в документации, я нашел этот пример, который явно ссылается на промежуточное звено lets encrypt, но имеет другое имя для ключевого параметра:

"chain_certificates": [
     "lets-encrypt-x3-cross-signed.pem"
],

Попытка это привела к той же проблеме (сбой рукопожатия)

Затем я попробовал следующее:

  • Объедините файл сертификата с промежуточным звеном Let's Encrypt.
  • Вернитесь к исходной конфигурации, просто используя параметры сертификата и ключа.

Итак, в основном это:

  "tls": {
      "key": "../ssl/key.pem",
      "certificate": "../ssl/cert-plus-intermediate.pem"
    }

После повторного перезапуска сервера (вам нужно будет перезапускать каждый раз, когда вы меняете настройки SSL) соединение установлено правильно. Также обратите внимание, что после того, как у вас будет рабочая конфигурация, вы должны убедиться, что файл ключа может быть прочитан только доверенным пользователем в системе, в идеале, любой пользовательской перекрестной панелью, которая будет работать как (chmod 600 key.pem)

person M1ke    schedule 27.11.2018