Comments (3)
x509 certificate verification failed msg
But when i use the same certificate on mosquitto pub it works.
Do you have any solution for this?
from mqtt-c.
Hi,
I'm actually not too familiar with TLS/SSL so I might not be the best person to help debug this, but I can try. I'm also moving right now, so I apologize if my responses are slow (also I don't have access to my computer right now so I can't try to reproduce).
In templates/openssl_sockets.h
I have written a barebones function—called open_nb_socket
—that opens a secure connection and returns the associated BIO socket (this function is called in the openssl_publisher example). To get MQTT-C working on an encrypted connection you must create this BIO socket (i.e. open and verify the connection) and that's it.
I think that you will have to do some debugging in this function. If you are getting an error saying that the certificate failed to load then SSL_CTX_load_verify_locations
on line 16 of tempaltes/openssl_sockets.h must be returning false. I'd start with figuring out why this is.
You could also check that there aren't any SSL errors immediately after loading OpenSSL (i.e. check the state of OpenSSL error at line 50 of openssl_publisher.c.
Here are some resources for error handling in OpenSSL:
- https://en.wikibooks.org/wiki/OpenSSL/Error_handling
- https://www.openssl.org/docs/man1.1.0/crypto/ERR_print_errors_fp.html
- https://stackoverflow.com/questions/37980798/openssl-error-handling
- https://www.ibm.com/developerworks/library/l-openssl/index.html
Let me know how it goes and if there is anything I can help you with.
Best regards,
Liam
from mqtt-c.
Because of inactivity, I'm going to assume this issue can be closed.
Please feel free to reopen if you continue to have trouble.
from mqtt-c.
Related Issues (20)
- Would reconnect_publisher be a thing? HOT 3
- Adding contex to callbacks HOT 1
- Insufficient validation of PUBLISH message HOT 2
- Possible undefined behaviour/bad memory access after reconnect HOT 2
- MQTT_ERROR_SEND_BUFFER_IS_FULL due to transient MQTT_ERROR_SOCKET_ERROR
- FPU-Trap when calculating client->typical_response_time
- mqtt_publish return value causes mqtt_error_str when not connected
- mqtt_publish seems to only send QoS 0 HOT 1
- Possible bug in MQTT_CLIENT_TRY_PACK macro
- MQTT-C Security Issue Report (mqtt_unpack_publish_response) HOT 2
- swap use of double variables to float HOT 1
- How to check the client has received a Connack from the Broker after connect() HOT 7
- how to check network connection state in inspector callback
- Signed integer overflow in `mqtt_error_str()` HOT 2
- We cannot pass the context of the program to mqtt publish_callback HOT 2
- Mingw compile error
- Memory alignment in Keil ARM Compiler (thumb instruction set)
- mqtt_connect does not generate a client.error if wrong username and/or password is provided
- Unable to connect openssl_publisher example to HiveMQ HOT 2
- Windows MSYS2 MINGW64: Examples fail with "MQTT_ERROR_SOCKET_ERROR" or "Failed to open socket: : No error"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mqtt-c.