You are not logged in. Please login or register.
Active topics Unanswered topics
Welcome to the wolfSSL Forums!
Please post questions or comments you have about wolfSSL products here. It is helpful to be as descriptive as possible when asking your questions.
References
Stable Releases - download stable product releases.
Development Branch - latest development branch on GitHub.
wolfSSL Manual - wolfSSL (formerly CyaSSL) product manual and API reference.
Search options
My Issue is the Calls
wolfSSL_UseSupportedCurve(client->tls.ssl, WOLFSSL_ECC_SECP256R1);
wolfSSL_UseSNI(client->tls.ssl, WOLFSSL_SNI_HOST_NAME, "my iot.azure-devices.net", sizeof("my iot.azure-devices.net");
These need to be called after the SSL Object (Struct) is created
But before
wolfSSL_connect() is called
Is there a correct place to do this or a callbacK?
in nt MqttSocket_Connect(MqttClient *client, const char* host, word16 port,
int timeout_ms, int use_tls, MqttTlsCb cb)
Use MqttTlsCb cb? ( This does Not Work)
for TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 the curve extension are not being set in the Hello Packet.
This Causes the Cipher to be ignored by the server.
ie:
extension_type=supported_groups(10), length=12
secp521r1 (P-521) (25)
secp384r1 (P-384) (24)
secp256r1 (P-256) (23)
secp224r1 (P-224) (21)
How are these enabled?
Is there a document indicating what compile options are required for each cipher?
The Issue here is that even though it is precenting the Ciphers in Client Hello, the Correct extensions to be used with the Ciphers are not enabled with the cipher. so they are rejected as valid.
Does any one know the settings to enable TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xC02B)
or TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xC02F)
is this enough for V3.9.0?
#define HAVE_AESGCM
#define HAVE_ECC
#define HAVE_SUPPORTED_CURVES
#define HAVE_TLS_EXTENSIONS /* Enable the NIST Curve */
#define HAVE_ECC256 /* Enable the NIST Curve */
#define HAVE_CURVE25519 /* Enable the Modern Curve */
Does it need a Certificate or an enable for it?
It shows up in clientHello, but
Azure is still choosing 0x009c
I do not have a Linux Machine.
is there a way to determine why it is not choosing the correct cipher?
Enabling ECC enables ECDH
I still have an Issue, But I am not sure where it is at this time
Azure is Selecting:
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
Azure Requires:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
what Option would I need to select this in Harmony?
I see that some Items are in the Wolf SSL section, but other are in the Harmony Ciphers Section.
The Cipher List is:
DES-CBC3-SHA:
AES128-SHA:
AES256-SHA:
DHE-RSA-AES128-SHA:
DHE-RSA-AES256-SHA:
DHE-PSK-AES128-GCM-SHA256:
DHE-PSK-AES128-CBC-SHA256:
DHE-PSK-AES128-CCM:
DHE-PSK-AES256-CCM:
HC128-SHA:
AES128-CCM-8:
AES256-CCM-8:
AES128-SHA256:
AES256-SHA256:
DHE-RSA-AES128-SHA256:
DHE-RSA-AES256-SHA256:
AES128-GCM-SHA256:
DHE-RSA-AES128-GCM-SHA256
That You for the link to the Function
I found wolfSSL_get_cipher() for the Current Cipher
I am trying to use the log to debug it will required some work in my embedded system.
There does not appear to be any function to get the list, or to get the current cypher. Is the correct?
I found to enable the Cypher i needed to enable options in the Harmony Cyphers are we as The Wolf SSL Cyphers.
I am getting an MQTT Error 5
This is related to it rejecting Cyphers
The List Below is the Acceptable list as of August 31, 2025
Oddly I can connect to one Hub But Not a Second.
Does Wolf SSL V 3.9.0 handle anything in the Below List?
I am using Microchip Harmony V1.11 so I am limited to V3.9.0
Does SLL Choose the Cypher or do I need to set it.
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
The Issue appears the The Reconnect sequence needs the Init Function to be called
MqttClientNet_Init()
MqttClient_Init()
MqttClient_NetConnect()
MqttClient_Connect()
Apparently MqttClient_NetDisconnect() does not clean up properly. I assume Later versions fix this.
I will check for memory leaks.
V1.0.0 and 1.1.0 only works sometime. It looks like there are some API changes between MQTT and SSL.
What I was look for is a new connection. Ie I pull the Network cable.
I would Expect:
MqttClient_Disconnect()
MqttClient_NetDisconnect();
followed by:
MqttClient_NetConnect()
MqttClient_Connect()
This Does Not Work and causes an exception
I would Assume this is fixed in later versions.
Reconnecting with the existing resources would be optimal
ie
rc = client->net->connect(client->net->context, AZURE_HOST, MQTT_TLS_PORT, DEFAULT_CON_TIMEOUT_MS);
rc = wolfSSL_connect(client->tls.ssl);
DO I need more than this to reconnect the Connection to the server?
then for
MQTT
Can I just call MqttClient_Connect() again?
Change from Harmony 1 to 3 is a major rewrite. I will Check with Microchip.
To me, for embedded use, the Stack is better. The Heap can get fragmented.
Right now the Connection to Azure is working very well. Subscribe and Publish.
I just need to handle disconnects.
MqttClient_NetDisconnect() and MqttClient_Disconnect() seem to cause exceptions an do no restore the connection.
They maybe better in later versions.
I need to handle certificate expiration, Sever timeouts, and Network disconnects.
I will Check with Microchip about updates.
If not I will need to make my own reconnect function.
Thank you for all you help
Thank you for your Response.
I will Need to look at the links.
1. I will Look (The sample is for MQTT V0.10)
2. Will 5.7.0 work with Harmony 1 or does it need Harmony 3? Or is that a question for Microchip.
3. I am making a single connection to an Azure MQTT Broker.
I did not choose small stack. I should look at that too.
The Question is how much I need add to the Heap / Stack to insure SSL is Good. I still have plenty of RAM
Can I have it do all the mallocs and hold them. I assume large stack will do less mallocs. Does either work faster?
4. I will Look.
(instructions here: https://github.com/wolfSSL/wolfssl-exam … aster/tls) this link is Bad
Right now my Subscription is working well.
This is a Commercial Product. (Or will Be)
Will the two links help a shut down and start up if the connection is lost.
My Application will run for months at a time unattended. I would like it to restore the connecyion on its own.
I am trying to Add WolfMQTT to Microchip Harmony 1.06 Project.
I am having some Issues so
1> I am Assuming the sample Works.
2>What would be the Newest version of Wolf SSL / Wolf MQTT that will work with that version of the Microchip Network Stack
Wolf SSL =3.9.0 and Wolf MQTT = V0.10 / Wolf MQTT
3> How Much Heap does it need I am sending to Azure.
4> If I close MQTT and Net The SSL fails when I call MQTT INIT. Is there a way to leave the SSL Initialized. I may send as little as once per day so I do not want to keep the connection Open.
Posts found: 13
Generated in 0.006 seconds (65% PHP - 35% DB) with 4 queries