2017-01-17 2 views
1

Я пытаюсь подключиться к брокеру москитов, используя защищенное соединение ssl. Для этого я следовать следующим
tutorialОшибка SSL при подключении к брокеру mosquitto с другой машины

Файл конфигурации mosquitto является:

tls_version tlsv1.2 
pid_file /var/run/mosquitto.pid 

persistence true 
persistence_location /var/lib/mosquitto/ 

log_dest file /var/log/mosquitto/mosquitto.log 
include_dir /etc/mosquitto/conf.d 
listener 1883 

listener 8883 
cafile /etc/mosquitto/certs2/ca.crt 
certfile /etc/mosquitto/certs2/server.crt 
keyfile /etc/mosquitto/certs2/server.key 

сгенерировать файл ок и сертификат сервера с этим script

Пока клиент на том же компьютере, что и у брокера, я не получаю никаких проблем для подключения на порт 8883 с использованием файла ca.

mosquitto_sub -h localhost --cafile /etc/mosquitto/certs2/ca.crt -t "test" -p 8883 -v 

Но когда я пытаюсь соединиться от клиента на другой машине я получаю следующее сообщение об ошибке:

1484748728: OpenSSL Error: error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown 

Кроме того, когда я использую вариант неуверенный mosquitto_pub/подразделам он работает хорошо.

--insecure

When using certificate based encryption, this option disables verification of the server hostname in the server certificate. This can be useful when testing initial server configurations but makes it possible for a malicious third party to impersonate your server through DNS spoofing, for example. Use this option in testing only. If you need to resort to using this option in a production environment, your setup is at fault and there is no point using encryption.

Итак, я думал, что, возможно, CommonName на моем сертификате сервера не хорошо, но я проверяю и coresponds имя хоста я использую, чтобы установить Connexion.

На обоих устройствах установлен OpenSSL 1.0.2g.

Для того, чтобы иметь более точную информацию о том, что происходит, когда я пытаюсь запустить ssldump, но я не знаю, чтобы интерпретировать его

2 1 0.0292 (0.0292) C>S Handshake 
     ClientHello 
     Version 3.3 
     cipher suites 
     Unknown value 0xc030 
     Unknown value 0xc02c 
     Unknown value 0xc028 
     Unknown value 0xc024 
     Unknown value 0xc014 
     Unknown value 0xc00a 
     Unknown value 0xa5 
     Unknown value 0xa3 
     Unknown value 0xa1 
     Unknown value 0x9f 
     Unknown value 0x6b 
     Unknown value 0x6a 
     Unknown value 0x69 
     Unknown value 0x68 
     TLS_DHE_RSA_WITH_AES_256_CBC_SHA 
     TLS_DHE_DSS_WITH_AES_256_CBC_SHA 
     TLS_DH_RSA_WITH_AES_256_CBC_SHA 
     TLS_DH_DSS_WITH_AES_256_CBC_SHA 
     Unknown value 0x88 
     Unknown value 0x87 
     Unknown value 0x86 
     Unknown value 0x85 
     Unknown value 0xc032 
     Unknown value 0xc02e 
     Unknown value 0xc02a 
     Unknown value 0xc026 
     Unknown value 0xc00f 
     Unknown value 0xc005 
     Unknown value 0x9d 
     Unknown value 0x3d 
     TLS_RSA_WITH_AES_256_CBC_SHA 
     Unknown value 0x84 
     Unknown value 0xc02f 
     Unknown value 0xc02b 
     Unknown value 0xc027 
     Unknown value 0xc023 
     Unknown value 0xc013 
     Unknown value 0xc009 
     Unknown value 0xa4 
     Unknown value 0xa2 
     Unknown value 0xa0 
     Unknown value 0x9e 
     TLS_DHE_DSS_WITH_NULL_SHA 
     Unknown value 0x40 
     Unknown value 0x3f 
     Unknown value 0x3e 
     TLS_DHE_RSA_WITH_AES_128_CBC_SHA 
     TLS_DHE_DSS_WITH_AES_128_CBC_SHA 
     TLS_DH_RSA_WITH_AES_128_CBC_SHA 
     TLS_DH_DSS_WITH_AES_128_CBC_SHA 
     Unknown value 0x9a 
     Unknown value 0x99 
     Unknown value 0x98 
     Unknown value 0x97 
     Unknown value 0x45 
     Unknown value 0x44 
     Unknown value 0x43 
     Unknown value 0x42 
     Unknown value 0xc031 
     Unknown value 0xc02d 
     Unknown value 0xc029 
     Unknown value 0xc025 
     Unknown value 0xc00e 
     Unknown value 0xc004 
     Unknown value 0x9c 
     Unknown value 0x3c 
     TLS_RSA_WITH_AES_128_CBC_SHA 
     Unknown value 0x96 
     Unknown value 0x41 
     Unknown value 0xc011 
     Unknown value 0xc007 
     Unknown value 0xc00c 
     Unknown value 0xc002 
     TLS_RSA_WITH_RC4_128_SHA 
     TLS_RSA_WITH_RC4_128_MD5 
     Unknown value 0xc012 
     Unknown value 0xc008 
     TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 
     TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 
     TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 
     TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 
     Unknown value 0xc00d 
     Unknown value 0xc003 
     TLS_RSA_WITH_3DES_EDE_CBC_SHA 
     Unknown value 0xff 
     compression methods 
        NULL 
2 2 0.0602 (0.0309) S>C Handshake 
     ServerHello 
     Version 3.3 
     session_id[0]= 

     cipherSuite   Unknown value 0xc030 
     compressionMethod     NULL 
2 3 0.0614 (0.0012) S>C Handshake 
     Certificate 
2 4 0.0614 (0.0000) S>C Handshake 
     ServerKeyExchange 
2 5 0.0614 (0.0000) S>C Handshake 
     ServerHelloDone 
2 6 0.0629 (0.0014) C>S Alert 
    level   fatal 
    value   certificate_unknown 
2 0.0644 (0.0015) C>S TCP RST 

Это мне кажется странным, что есть только unknownvalue на CipherSuite сервера hello, но ssl/tls - это совершенно новая тема для меня ...

Есть ли у вас какая-то идея о том, что может создать эту проблему или о том, как ее отладить?

Буду очень рад, если вы могли бы дать мне какое-то предложение.

ответ

0

Этот вопрос был бы лучше задан на iot.stackexchange.com.

But when I try to connect from a client on another machine I get the following error:

Если вы работаете mosquitto_sub -h localhost на другом компьютере, то вы не подключаетесь к удаленной машине больше. Если вы правильно изменили имя хоста на удаленном хосте, вы также скопировали правильный файл CA?

+0

Нет Я не использовал «mosquitto_sub -h localhost» на другом компьютере, я заменил localhost на имя хоста сервера, к которому я хочу подключиться. Я также уверен, что файл ca, который я использую, является хорошим. –

Смежные вопросы