2017-01-17 2 views
1

보안 SSL 연결을 사용하여 모스 퀴토 브로커에 연결하려고합니다. 는이를 위해, 나는 다음을 수행
tutorial다른 컴퓨터에서 모스키토 브로커에 연결할 때 SSL 오류가 발생했습니다.

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

와 CA 파일 및 서버 인증서를 생성 브로커와 같은 컴퓨터에서 ca 파일을 사용하여 포트 8883에 연결하는 데 아무런 문제가 없습니다. 나는 다음과 같은 오류가 다른 컴퓨터에 클라이언트에서 연결하려고 할 때

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

는하지만 : 나는 mosquitto_pub/하위의 옵션 불안을 사용할 때

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

은 또한 그것은 잘 작동합니다.

--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.

두 시스템 모두 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 있다는 것을 나에게 이상한 것 같다 해석 해야할지 모르겠다 서버 안녕하세요,하지만 ssl/tls 나를 위해 완전히 새로운 주제입니다 ...

당신은이 문제를 만들 수있는 방법이나 디버깅하는 방법에 대한 아이디어가 있습니까?

나에게 몇 가지 제안을 해주시면 매우 기쁩니다.

답변

0

이 질문은 iot.stackexchange.com에서 더 잘 물었을 것입니다. 다른 컴퓨터에서 mosquitto_sub -h localhost를 실행하는 경우

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

, 당신은 더 이상 원격 컴퓨터에 연결되지 것입니다. 원격 호스트에서 올바르게 호스트 이름을 수정 한 다음 올바른 CA 파일을 복사 했습니까?

+0

아니요 다른 컴퓨터에서 "mosquitto_sub -h localhost"를 사용하지 않았으므로 localhost를 연결하려는 서버의 호스트 이름으로 바꿨습니다. 나는 또한 내가 사용하는 ca 파일이 좋은 것임을 확신한다. –

관련 문제