2017-09-10 12 views
-1

간단한 질문이 있습니다. 간단한 대답이 있습니다. .pem 형식의 인증 기관을 사용하여 브로커에 연결하고 게시/가입 할 수 있습니다. 예를 들어, 다음 명령은MQTT 모스 킷토 SSL/TLS는 CA.der와 연결할 수 없지만 CA.pem과 연결할 수 있습니다.

mosquitto_pub --cafile CA.pem -h www.example.com -p 8883 -t test -u "usr" -p "pw" 

입니다. 내가

openssl x509 -in CA.pem -out CA.der -outform DER 

--cafileCA.der을 사용을 사용하여 CA.derCA.pem를 변환 할 때, 오류가 발생합니다 :

Unable to connect (A TLS error occurred.). 

난 변환 내가 CA2.pemopenssl x509를 사용하여 다시 CA.der 변환 때문에 경우 올바른 생각 나는 성공적으로 연결할 수있다. 내 생각 엔 mosquitto.conf 파일에 *.der 또는 이와 유사한 파일을 설정해야하지만 설명서 또는 온라인 어디서나이 문제를 해결할 수있는 파일은 찾을 수 없습니다. .der 형식을 사용해야합니다. TI CC3200 dev 보드에 MQTT 클라이언트를 설정하고 있기 때문에 TI의 API에는 .der 형식의 모든 인증서가 필요합니다.

가 나는 CertBot를 통해 내 도메인에 대한 CA를 얻고, 인증서 체인은 다음과 같습니다

필요한 경우 몇 가지 추가 정보 :

depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3 
verify return:1 
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3 
verify return:1 
depth=0 CN = <www.example.com> 
verify return:1 

mosquitto.conf

allow_anonymous false 
password_file /etc/mosquitto/passwd 

listener 1883 localhost 

listener 8883 
certfile /etc/letsencrypt/live/<www.example.com>/cert.pem 
cafile /etc/letsencrypt/live/<www.example.com>/chain.pem 
keyfile /etc/letsencrypt/live/<www.example.com>/privkey.pem 

답변

0

아니요, 모스 킷토는 PEM 형식의 인증서 제공 만 지원하며, DER 파일을 사용할 수 없습니다.

브로커 측에서 클라이언트 측과 동일한 형식 (PEM/DER)의 인증서 저장소를 사용해야한다는 것은 말할 필요도 없습니다.