Hello,
I am trying to test a device’s conformance to IEC62351-3 which defines some rules about TLS implementations, in particular im wondering if it’s possible to:
Use mbedtls on a TLS server to accept a session resumption when a client sends a ClientHello message with a session ID in an ongoing TLS session.
Also RFC 5246 says this about resumption for tls v1.2:
The ClientHello message includes a variable-length session
identifier. If not empty, the value identifies a session between the
same client and server whose security parameters the client wishes to
reuse. The session identifier MAY be from an earlier connection,
this connection, or from another currently active connection.
so it should be possible to resume in an ongoing session but:
I already have a working implementation of a TLS 1.2 server using mbedtls 2.28, but if a client sends a clienthello with a session ID in an ongoing session, the server always responds with a renegotiation by default.
Taking a look at the library code i tried to change the function:
static void ssl_handle_id_based_session_resumption(mbedtls_ssl_context *ssl)
found in the file ssl_srv.c in mbedtls 2.28,
and removed a check which skipped resumption if a client hello was received during a session, this does not work properly however because the server closes the connection after sending the finished message due to a MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR.
Im wondering if there is anyway to allow resumption in this manner using mbedtls or if im doing something wrong? If you require further information please let me know and i will try to add as much as i can!
[1741361442716]
<mailto:tommaso.mancini@sel-electric.it>
Tommaso Mancini
SEL S.p.A.
R&D Software and Test Engineer
Via Amendola 9,11,13,15,17
51035 Lamporecchio (PT)
Tel. +39 0573 80051
Fax +39 0573 803110
website: www.sel-electric.com<http://www.sel-electric.com/>
e-mail: tommaso.mancini(a)sel-electric.it<mailto:tommaso.mancini@sel-electric.it>
<mailto:tommaso.mancini@sel-electric.it>Questo è un messaggio di posta elettronica proveniente da SEL s.p.a. Le informazioni contenut in questa comunicazione sono altamente riservate e possono essere utilizzate solo dalla persona o dall’ente cui sono destinate. La diffusione, distribuzione e/o copiatura del documento trasmesso da parte di qualsiasi soggetto diverso dal destinatario è proibita. Se avete ricevuto questo messaggio per errore, Vi preghiamo di contattarci immediatamente. Grazie. This communication is intended only for use by the addressee. It may contain confidential or privileged information. Transmission cannot be guaranteed to be secure or error-free. If you receive this communication unintentionally, please inform us immediately. Thank you.
Per favore, pensa all’ambiente prima di stampare. Please, consider the environment before you print.
Hello,
Our devices are connecting to AWS IoT Core.
Recently we had few customers with poor connection complaining that the
device didn't reconnect.
We are using ARM Keil MDK 8.1.0 + mbed TLS 3.6.4.
On Wireshark logs we have identified 2 errors:
1. close notify from server after client hello
2. bad certificate or unknown CA from client after server hello
The device was stuck on one of these errors and only a reboot would fix it.
I think these 2 errors are not related.
On detail analysis for the first error, we saw that the cipher suites
list was missing and that was the reason for close notify from server.
Looking at the TLS code saw that the list is being created only one time
after reboot.
So in ssl_ciphersuites.c just commented out supported_init = 1 and now
seems to be good.
I do not know the reason why the list was lost during runtime.
For the second error, we were able to reproduce the problem quite
consistently.
Some logs at IoT client code showed that somehow the TLS lost the
ability to parse properly the server certificates.
I believe that this was some memory allocation problem, so I've
configured the mbed TLS to get allocation from a separate buffer and
that seems to fix the problem.
This buffer has to be quite large, 56k size. Any smaller size would
return memory allocation failure.
Any reason why it has to be so big?
Just want to know if someone had before these issues and if I can lower
the buffer.
Let me know if you need extra details about the problems.
Thank you and regards,
Milo
--
MiloradPodoaba
Firmware System Engineer
Arrowhead Alarm Products Ltd.
(09) 414 0085 <tel:%2809%29%20414%200085%20%20%20>
milo(a)aap.co.nz <mailto:milo@aap.co.nz>
www.aap.co.nz <//www.aap.co.nz>
1A Emirali Road, Silverdale, Auckland, New Zealand
facebook
<https://www.facebook.com/ArrowheadAlarmProductsLtd/?hc_ref=ARTrnwMZmLZimX6K…>
linkedin
<https://www.linkedin.com/company/arrowhead-alarm-products-ltd-/>
instagram <https://instagram.com/aapltd?igshid=1356ehzmruf5r>
Also anything you can share around the size and quantity of certificates
you are parsing would be useful. 56K does seem very high, though if at the
time you are parsing large numbers of large certificates it could get up
that far.
Regards
Ben
---------- Forwarded message ---------
From: Ben Taylor <ben.taylor(a)linaro.org>
Date: Tue, 27 Jan 2026 at 11:33
Subject: Re: [mbed-tls] Some problems regarding mbed TLS
To: Milorad Podoaba <milo(a)aap.co.nz>
Hi Milo,
For the second issue the memory allocation problem if you are
able to share your mbedtls configuration, that would be useful as
customising this could impact how much is allocated. Beyond this anything
further you can share about how you are using the library when you
encounter high usage would be useful. Ideally a code snippet which
reproduces the error, though if not any further information will help us
reproduce the error and attempt to assist you.
For the first issue again if you can share your config and any code
snippets you have that can reproduce the issue that would be helpful.
Many thanks
Ben
On Mon, 26 Jan 2026 at 20:54, Milorad Podoaba <milo(a)aap.co.nz> wrote:
> Hi Ben,
>
> Not sure how much code you want me to share. You need to be more specific.
> There might be a memory problem in our application, it just hard to tell
> and the mbed TLS seems not able to recover.
>
> At this stage, I only want to reduce the size of the buffer for the
> alternative memory alloc.
> Do you know a way to do it?
>
> Thank you and regards,
> Milo
>
>
> Milorad Podoaba
>
> Firmware System Engineer
>
> Arrowhead Alarm Products Ltd.
>
>
>
> (09) 414 0085 <%2809%29%20414%200085%20%20%20>
> milo(a)aap.co.nz
> www.aap.co.nz <//www.aap.co.nz>
> 1A Emirali Road, Silverdale, Auckland, New Zealand
>
>
>
> [image: facebook]
> <https://www.facebook.com/ArrowheadAlarmProductsLtd/?hc_ref=ARTrnwMZmLZimX6K…>
>
> [image: linkedin]
> <https://www.linkedin.com/company/arrowhead-alarm-products-ltd-/>
>
> [image: instagram] <https://instagram.com/aapltd?igshid=1356ehzmruf5r>
>
>
> On 27/01/2026 12:19 am, Ben Taylor wrote:
>
> Hi Milo,
> Thanks for reporting this issue. Is there any chance you could
> share some example code that can reproduce the error, so we can investigate
> it further?
>
> Many thanks
>
> Ben
>
> On Mon, 26 Jan 2026 at 10:28, Milorad Podoaba via mbed-tls <
> mbed-tls(a)lists.trustedfirmware.org> wrote:
>
>> Hello,
>>
>> Our devices are connecting to AWS IoT Core.
>> Recently we had few customers with poor connection complaining that the
>> device didn't reconnect.
>>
>> We are using ARM Keil MDK 8.1.0 + mbed TLS 3.6.4.
>>
>> On Wireshark logs we have identified 2 errors:
>>
>> 1. close notify from server after client hello
>> 2. bad certificate or unknown CA from client after server hello
>>
>> The device was stuck on one of these errors and only a reboot would fix
>> it.
>> I think these 2 errors are not related.
>>
>> On detail analysis for the first error, we saw that the cipher suites
>> list was missing and that was the reason for close notify from server.
>> Looking at the TLS code saw that the list is being created only one time
>> after reboot.
>> So in ssl_ciphersuites.c just commented out supported_init = 1 and now
>> seems to be good.
>> I do not know the reason why the list was lost during runtime.
>>
>> For the second error, we were able to reproduce the problem quite
>> consistently.
>> Some logs at IoT client code showed that somehow the TLS lost the ability
>> to parse properly the server certificates.
>> I believe that this was some memory allocation problem, so I've
>> configured the mbed TLS to get allocation from a separate buffer and that
>> seems to fix the problem.
>> This buffer has to be quite large, 56k size. Any smaller size would
>> return memory allocation failure.
>> Any reason why it has to be so big?
>>
>> Just want to know if someone had before these issues and if I can lower
>> the buffer.
>> Let me know if you need extra details about the problems.
>>
>> Thank you and regards,
>> Milo
>>
>>
>> --
>> Milorad Podoaba
>>
>> Firmware System Engineer
>>
>> Arrowhead Alarm Products Ltd.
>>
>>
>>
>> (09) 414 0085 <%2809%29%20414%200085%20%20%20>
>> milo(a)aap.co.nz
>> www.aap.co.nz <//www.aap.co.nz>
>> 1A Emirali Road, Silverdale, Auckland, New Zealand
>>
>>
>>
>> [image: facebook]
>> <https://www.facebook.com/ArrowheadAlarmProductsLtd/?hc_ref=ARTrnwMZmLZimX6K…>
>> [image: linkedin]
>> <https://www.linkedin.com/company/arrowhead-alarm-products-ltd-/>
>> [image: instagram] <https://instagram.com/aapltd?igshid=1356ehzmruf5r>
>> --
>> mbed-tls mailing list -- mbed-tls(a)lists.trustedfirmware.org
>> To unsubscribe send an email to mbed-tls-leave(a)lists.trustedfirmware.org
>>
>
>
Hi All,
The PSA driver interface guide describes the driver entry points for key derivation. However the implementation seems to be missing from the psa crypto core layer.
Can you help update if this is something which is being worked on ? I see a lot of tickets open related for key derivation interface dating back in 2022. Are these still relevant ?
Regards,
Ruchika