AWS IoT를 로컬 Mosquitto MQTT와 브리징 할 때 "인증서 확인 실패"

btech

나는 매력처럼 작동하는 로컬 라즈베리 파이에 모기 MQTT가 있습니다. AWS IoT에서도 작동하는 MQTT 브로커를 만들었습니다.

내 라즈베리 파이에서 mosquitto_pub 및 mosquitto_sub 명령을 사용하여 AWS 브로커에 "수동으로"연결, 게시 및 구독 할 수 있습니다. 이 작업을 수동으로 수행 할 때 모든 인증서와 항목을 사용합니다. 내가 사용하는 명령은 다음과 같습니다.

mosquitto_pub --cafile amazonCA1.pem --cert certificate.cert --key private.key -h XXXXXXXXXXXXXXXXXX.amazonaws.com -p 8883 -q 1 -d -t "iot/test" -m "testing message"

그래서 문제는 인증서에 있지 않다고 생각합니다.

문제는 "브리지 모드"를 사용하도록 구성을 변경할 때 mosquitto 로그에 다음 메시지가 표시됩니다.

1584371971: Connecting bridge (step 1) awsiot (XXXXXXXXXXXXXXXXXXXXX.amazonaws.com:8883)
1584371972: Connecting bridge (step 2) awsiot (XXXXXXXXXXXXXXXXXXXXX.amazonaws.com:8883)
1584371972: Bridge bridgeawsiot sending CONNECT
1584371972: OpenSSL Error: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
1584371972: Socket error on client local.bridgeawsiot, disconnecting.
1584371977: Bridge local.bridgeawsiot doing local SUBSCRIBE on topic #

내 mosquitto.conf는 다음과 같습니다.

pid_file /var/run/mosquitto.pid

persistence true persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log log_type all
#log_dest topic

log_type error log_type warning log_type notice log_type information

connection_messages true log_timestamp true

include_dir /etc/mosquitto/conf.d

password_file /etc/mosquitto/passwordfile allow_anonymous false

그리고 여기 내 /etc/mosquitto/conf.d/bridge.conf

connection awsiot
address XXXXXXXXXXXXXXXXXXXX.amazonaws.com:8883

# Specifying which topics are bridged
topic # both 1

# Setting protocol version explicitly
bridge_protocol_version mqttv311
bridge_insecure false

# Bridge connection name and MQTT client Id,
# enabling the connection automatically when the broker starts.
cleansession true
clientid bridgeawsiot

start_type automatic
notifications false
log_type all


# =================================================================
# Certificate based SSL/TLS support
# -----------------------------------------------------------------
#Path to the rootCA
bridge_cafile /home/pi/certs/amazonCA1.pem

# Path to the PEM encoded client certificate
bridge_certfile /home/pi/certs/certificate.cert

# Path to the PEM encoded client private key
bridge_keyfile /home/pi/certs/private.key

따라서 전반적인 문제는 수동으로 연결 / 게시 / 구독하면 모든 것이 작동하지만 브리지 conf 파일을 사용하면 오류가 발생합니다.

OpenSSL Error: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

어떤 제안? 로컬 브로커 (라즈베리 파이)에서 사용자 이름 / pw로 인증 방법을 사용하고 AWS에서 인증서 인증을 사용하는 데 문제가 있습니까 ??

감사

btech

좋아, 내가 뭘했는지 모르겠다. 문제가 해결되었다는 것만 알고있다.

처음에는 내가 가지고있는 Ubuntu VM에 모기를 새로 설치했고 모든 것이 올바르게 작동했습니다.

그런 다음 라즈베리 파이에서 Mosquitto를 제거하고 다시 설치했습니다. Ubuntu VM을 구성한 방식대로 구성했지만 여전히 운이 없습니다. 문제가 내 라즈 비안 이미지라고 생각하기 시작했습니다 ...하지만 구성을 약간 조정 한 후 인증서 파일을 한 디렉터리에서 다른 디렉터리로 이동하고 권한을 변경하고 bridge.conf 파일 디렉터리 등을 변경합니다. 일하기 시작했고 이제 괜찮습니다.

따라서 앞으로이 문제가 발생하면 파일이나 디렉토리의 권한 일 수 있습니다.

편집 (하루 후) : 다른 브로커에서 동일한 것을 복제하려고 시도했을 때 모든 작업을 동일하게 수행했지만 로컬 브로커가 AWS IoT 브리지와의 연결을 안정화하자마자 연결이 끊어졌습니다 (아래 메시지. 인증서 오류 없음 시각):

1584456917: Bridge local.bridgeawsiot doing local SUBSCRIBE on topic #
1584456917: Connecting bridge (step 1) awsiot (XXXXXXXXXXXXXXX.amazonaws.com:8883)
1584456918: Connecting bridge (step 2) awsiot (XXXXXXXXXXXXXXX.amazonaws.com:8883)
1584456918: Bridge bridgeawsiot sending CONNECT
1584456918: Received CONNACK on connection local.bridgeawsiot.
1584456918: Bridge local.bridgeawsiot sending SUBSCRIBE (Mid: 2, Topic: #, QoS: 0, Options: 0x00)
1584456918: Sending PUBLISH to local.bridgeawsiot (d0, q0, r1, m0, 'XXXXX/XXXXX/XXXXX', ... (6 bytes))
1584456918: Sending PUBLISH to local.bridgeawsiot (d0, q0, r1, m0, 'XXXXX/XXXXX/XXXXX/LWT', ... (6 bytes))
1584456918: Sending PUBLISH to local.bridgeawsiot (d0, q0, r1, m0, 'XXXXX/XXXXX/XXXXX/LWT', ... (6 bytes))
1584456918: Sending PUBLISH to local.bridgeawsiot (d0, q0, r1, m0, 'XXXXX/XXXXX/XXXXX/LWT', ... (6 bytes))
1584456918: Sending PUBLISH to local.bridgeawsiot (d0, q0, r1, m0, 'XXXXX/XXXXX/XXXXX/LWT', ... (6 bytes))
1584456918: Sending PUBLISH to local.bridgeawsiot (d0, q0, r1, m0, 'XXXXX/XXXXX/XXXXX/LWT', ... (6 bytes))

1584456918: Received SUBACK from local.bridgeawsiot
1584456919: Socket error on client local.bridgeawsiot, disconnecting.

나는 모든 주제와 함께 다리를 사용하고 있었다.

topic # both 1

나는 THINK I는 다리와 연결로 많은 장치가 많은 메시지를 게시하고 연결이 떨어졌다 즉시. 그래서 제가 연결된 주제를 변경 한 후 모든 것이 정확했습니다.

topic iot/test both 1

[다른 편집 : 3 일 후] "topic # both 1"을 사용했을 때 연결이 끊어진 이유를 알아 냈습니다. 내 장치 중 하나가 RETAIN 플래그가 TRUE로 설정된 메시지를 전송했기 때문입니다.

AWS IoT 설명서에 따르면 RETAIN TRUE를 지원하지 않으며 AWS IoT Broker의 연결이 끊어지는 방식으로 메시지가 전송되는 경우.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자체 서명 된 인증서와 함께 Python에서 요청을 사용할 때 인증서 확인 실패

분류에서Dev

"인증서 확인 실패"로 인해 "https://rubygems.org/에서 데이터를 다운로드 할 수 없음"

분류에서Dev

Python을 사용하여 JIRA API에 연결할 때 SSL3 인증서 확인 실패

분류에서Dev

ssl.SSLCertVerificationError : [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인 실패 : 로컬 발급자 인증서를 가져올 수 없음 (_ssl.c : 1056)

분류에서Dev

PyFCM을 사용하여 푸시 알림을 보낼 때 '인증서 확인 실패'

분류에서Dev

오류 : 500은 example.com:443에 연결할 수 없습니다 (인증서 확인 실패).

분류에서Dev

Xero 공용 응용 프로그램에서 갑작스러운 인증서 확인 실패

분류에서Dev

Faraday :: SSLError 및 "인증서 확인 실패"

분류에서Dev

Chrome에서 SSL 인증서 확인 실패, Heartbleed 버그?

분류에서Dev

Python에서 "인증서 확인 실패"요청

분류에서Dev

승객 저장소 인증서 확인 실패

분류에서Dev

PayPal IPN 알림 : SSL 인증서 확인 실패

분류에서Dev

Python 2.7.5 요청 및 인증서 확인 실패

분류에서Dev

Rabbitmq-c "SSL 피어 인증서 확인 실패"

분류에서Dev

"ssl 인증서 확인 실패"오류 문제 해결

분류에서Dev

Ruby 컨트롤러에서 "인증서 확인 실패"

분류에서Dev

Smartsheet-api 및 Python SDK 인증서 확인 실패

분류에서Dev

Void Linux XBPS 중단 : 인증서 확인 실패

분류에서Dev

Ubuntu Landscape-서버 인증서 확인 실패

분류에서Dev

ssl.SSLError : [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인 실패 Python

분류에서Dev

javax.microedition.pki 인증서 확인 실패

분류에서Dev

Ruby Gem 'cryptsy-api'사용시 OpenSSL :: SSL :: SSLError "인증서 확인 실패"

분류에서Dev

error : 14090086 : SSL 루틴 : SSL3_GET_SERVER_CERTIFICATE : 인증서 확인 실패

분류에서Dev

(xenial-backports / main amd64) 패키지 서버 인증서 확인 실패

분류에서Dev

오류 : Errno 소켓 오류] [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인 실패 (_ssl.c : 727)

분류에서Dev

SSL_connect returned = 1 errno = 0 state = SSLv3 읽기 서버 인증서 B : 인증서 확인 실패

분류에서Dev

download.01.org 인증서 확인 실패-CRL 파일이 누락 되었습니까?

분류에서Dev

apt-get 업데이트 : Err https://mirror.umd.edu-> 서버 인증서 확인 실패

분류에서Dev

boost :: asio 및 OpenSSL과의 클라이언트 서버 통신에서 인증서 확인 실패

Related 관련 기사

  1. 1

    자체 서명 된 인증서와 함께 Python에서 요청을 사용할 때 인증서 확인 실패

  2. 2

    "인증서 확인 실패"로 인해 "https://rubygems.org/에서 데이터를 다운로드 할 수 없음"

  3. 3

    Python을 사용하여 JIRA API에 연결할 때 SSL3 인증서 확인 실패

  4. 4

    ssl.SSLCertVerificationError : [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인 실패 : 로컬 발급자 인증서를 가져올 수 없음 (_ssl.c : 1056)

  5. 5

    PyFCM을 사용하여 푸시 알림을 보낼 때 '인증서 확인 실패'

  6. 6

    오류 : 500은 example.com:443에 연결할 수 없습니다 (인증서 확인 실패).

  7. 7

    Xero 공용 응용 프로그램에서 갑작스러운 인증서 확인 실패

  8. 8

    Faraday :: SSLError 및 "인증서 확인 실패"

  9. 9

    Chrome에서 SSL 인증서 확인 실패, Heartbleed 버그?

  10. 10

    Python에서 "인증서 확인 실패"요청

  11. 11

    승객 저장소 인증서 확인 실패

  12. 12

    PayPal IPN 알림 : SSL 인증서 확인 실패

  13. 13

    Python 2.7.5 요청 및 인증서 확인 실패

  14. 14

    Rabbitmq-c "SSL 피어 인증서 확인 실패"

  15. 15

    "ssl 인증서 확인 실패"오류 문제 해결

  16. 16

    Ruby 컨트롤러에서 "인증서 확인 실패"

  17. 17

    Smartsheet-api 및 Python SDK 인증서 확인 실패

  18. 18

    Void Linux XBPS 중단 : 인증서 확인 실패

  19. 19

    Ubuntu Landscape-서버 인증서 확인 실패

  20. 20

    ssl.SSLError : [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인 실패 Python

  21. 21

    javax.microedition.pki 인증서 확인 실패

  22. 22

    Ruby Gem 'cryptsy-api'사용시 OpenSSL :: SSL :: SSLError "인증서 확인 실패"

  23. 23

    error : 14090086 : SSL 루틴 : SSL3_GET_SERVER_CERTIFICATE : 인증서 확인 실패

  24. 24

    (xenial-backports / main amd64) 패키지 서버 인증서 확인 실패

  25. 25

    오류 : Errno 소켓 오류] [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인 실패 (_ssl.c : 727)

  26. 26

    SSL_connect returned = 1 errno = 0 state = SSLv3 읽기 서버 인증서 B : 인증서 확인 실패

  27. 27

    download.01.org 인증서 확인 실패-CRL 파일이 누락 되었습니까?

  28. 28

    apt-get 업데이트 : Err https://mirror.umd.edu-> 서버 인증서 확인 실패

  29. 29

    boost :: asio 및 OpenSSL과의 클라이언트 서버 통신에서 인증서 확인 실패

뜨겁다태그

보관