Sto risolvendo i problemi con una connessione TLS e usando openssl per farlo. Non riesco a ottenere il computer ARM (w / Debian8) per connettersi al mio server in GCP (mqtt: 8883 per la precisione). Ho generato certificati autofirmati sul server e li ho installati sul computer ARM, ma non si collegherà, chiaramente a causa di un problema con il certificato:
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
Su una macchina Windows installo certificati e openssl si connette (openssl da MinGW / msys) e anche la mia VM Debian 8 su quella macchina Windows. Quindi sono sicuro che il server sia configurato correttamente e ottengo il concetto di installare i certificati. (stranamente, quando cancello i file del certificato che ho aggiunto, funziona ANCORA ... deve essere un po 'di cache, vorrei sapere per cancellare quello)
Sulla macchina ARM che non funziona, ho provato a specificare manualmente il percorso (-CApath) o il file (-CAfile).
Come posso verificare quali certificati sta provando openssl? Sembra nelle sottocartelle?
Potrebbe essere perché i certificati sono autofirmati? (perché dovrebbe funzionare anche sulle altre macchine?)
Ulteriori informazioni: ho provato la verifica di openssl sui certificati sulla macchina ARM (autofirmato e sul certificato del server):
:/etc/ssl# openssl verify ca_certificates/ca.crt
ca_certificates/ca.crt: CN = An MQTT broker, O = OwnTracks.org, OU = generate-CA, emailAddress = [email protected]
error 18 at 0 depth lookup:self signed certificate
OK
:/etc/ssl# openssl verify ca_certificates/server.crt
ca_certificates/server.crt: CN = ########.com, O = OwnTracks.org, OU = generate-CA, emailAddress = [email protected]
error 20 at 0 depth lookup:unable to get local issuer certificate