From 0563240a2da8bf2f8d6e2718c703bdf8ed278178 Mon Sep 17 00:00:00 2001 From: hemanth-silabs <50145824+hemanth-silabs@users.noreply.github.com> Date: Fri, 25 Feb 2022 03:39:56 +0000 Subject: [PATCH] [crypto] changes to dtls code to match mbedtls 3.1.0 (#7425) Some of the private fields are changed to public again in MbedTLS 3.1, update dtls to match these changes. --- src/core/meshcop/dtls.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/core/meshcop/dtls.cpp b/src/core/meshcop/dtls.cpp index 700815237..aa2834500 100644 --- a/src/core/meshcop/dtls.cpp +++ b/src/core/meshcop/dtls.cpp @@ -535,12 +535,19 @@ Error Dtls::GetPeerCertificateBase64(unsigned char *aPeerCert, size_t *aCertLeng VerifyOrExit(mState == kStateConnected, error = kErrorInvalidState); +#if (MBEDTLS_VERSION_NUMBER >= 0x03010000) + VerifyOrExit(mbedtls_base64_encode(aPeerCert, aCertBufferSize, aCertLength, + mSsl.MBEDTLS_PRIVATE(session)->MBEDTLS_PRIVATE(peer_cert)->raw.p, + mSsl.MBEDTLS_PRIVATE(session)->MBEDTLS_PRIVATE(peer_cert)->raw.len) == 0, + error = kErrorNoBufs); +#else VerifyOrExit( mbedtls_base64_encode( aPeerCert, aCertBufferSize, aCertLength, mSsl.MBEDTLS_PRIVATE(session)->MBEDTLS_PRIVATE(peer_cert)->MBEDTLS_PRIVATE(raw).MBEDTLS_PRIVATE(p), mSsl.MBEDTLS_PRIVATE(session)->MBEDTLS_PRIVATE(peer_cert)->MBEDTLS_PRIVATE(raw).MBEDTLS_PRIVATE(len)) == 0, error = kErrorNoBufs); +#endif exit: return error;