176

(2 replies, posted in wolfSSL)

Hi beaveryoga,

Excellent, thanks for sharing this! Were there any issues or changes required?

Kind regards,
Eric @ wolfSSL Support

Hello celov65111

Welcome and thanks for joining the wolfSSL Forums. I moved this topic to the wolfTPM section, under the assumption that you are using wolfTPM to access the TPM device. Please correct me if I am mistaken.

Here is an example of reading a key from nvram:
https://github.com/wolfSSL/wolfTPM/blob … ram/read.c

Let us know if there are any questions.

Kind regards,
Eric @ wolfSSL Support

Hi labonte_d

Thanks for contacting wolfSSL Support. The compatibility layer of wolfSSL is intended to cover the most widely used OpenSSL API, but there are some gaps. I can open open a feature request for implementing the BIO_TYPE_SOCKET type if you'd like. I'd suggest adding the type define and seeing if there are further issues.

For the SHA224_Init issues, I do see that SHA224_Init is defined to wolfSSL_SHA224_Init in wolfssl/wolfssl/openssl/sha.h

Does realm-core/src/realm/util/encrypted_file_mapping.cpp include options.h before any other wolfSSL headers?

Thanks,
Eric @ wolfSSL Support

179

(1 replies, posted in wolfSSL)

Hello Manaury,

We have an excellent PKCS12 example that parses out the key and cert:
https://github.com/wolfSSL/wolfssl-exam … pto/pkcs12

(I replied to your support ticket, but I am copying the response here for posterity.)

180

(2 replies, posted in wolfMQTT)

Hello Rafa,

Welcome to the wolfSSL Forums. Yes, you are absolutely on the right track. The network layer of wolfMQTT is transport agnostic. Here is an example of a UART port:
https://github.com/wolfSSL/wolfMQTT/blo … mqttuart.c

You'll notice the network layer only requires a structure and a few functions.

Let us know if there are questions and feel free to email support@wolfssl.com for priority pre-sales support.

Thanks,
Eric @ wolfSSL Support

>  lws cannot find wolfSSL_X509_VERIFY_PARAM_set1_host

This is quite odd. The macro `OPENSSL_EXTRA` is the only define gating the definition. Maybe try with

-DWOLFSSL_OPENSSLEXTRA=yes

instead of using the CFLAG value.

Hi r-type,

Yes, you can modify the CMakeLists.txt. Our CMake build is a work-in-progress. Alternatively, you can also pass in wolfSSL build options like this:

cmake ../wolfssl -DCMAKE_C_FLAGS_INIT='-DWOLFSSL_LIBWEBSOCKETS -DHAVE_EX_DATA -DOPENSSL_NO_EC'

183

(2 replies, posted in wolfSSL)

Hi Angelo,

We do have some newer documentation that is prerelease. I can share this with you if you can send a request to support@wolfssl.com

184

(2 replies, posted in wolfSSL)

Hello Angelo,

Thanks for joining the wolfSSL Support Forum. I know the CAAM driver has to be specially built and linked in order for wolfSSL to access the driver. Please see the instructions here:
https://github.com/wolfSSL/wolfssl/blob … am_doc.pdf

I will check about the intended usage of the configure option `--enable-caam`

Thanks,
Eric @ wolfSSL Support

Hello Jerry,

Thanks for joining the forums. For the version of FIPS Ready you are building, you'll want to change the versions to:

        HAVE_FIPS_VERSION=5
        HAVE_FIPS_VERSION_MINOR=3

I'd invite you to send an email to support@wolfssl.com in order to better prioritize questions.

Thanks,
Eric @ wolfSSL Support

Hello eMKa94

Thanks for joining the forums. Here is a link to our porting guide:
https://www.wolfssl.com/docs/porting-guide/

You can specify the build environment using the config command:

GENERIC EXAMPLE:

./configure \
CC="/path/to/your/toolchain/toolchain-gcc" \
AR="/path/to/your/toolchain/toolchain-ar" \
AS="/path/to/your/toolchain/toolchain-gcc" \
RANLIB="/path/to/your/toolchain/toolchain-ranlib" \
LD="/path/to/your/toolchain/toolchain-ld" \
--host=<your host> \
<your other configure options here> \
CFLAGS="-mcpu=<your cpu definition here> \
<other cflags here>" \
LIBS="<libs>"

SPECIFIC EXAMPLE:

./configure \
CC="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
AR="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ar" \
AS="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
RANLIB="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ranlib" \
LD="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ld" \
--host=arm-none-eabi \
--enable-aesgcm --enable-ecc \
CFLAGS="-mcpu=cortex-m4 \
-Os -specs=rdimon.specs"  \
LIBS="-Wl,--start-group -lm -lgcc -lc -lrdimon -Wl,--end-group"

Let us know if there are questions.

Thanks,
Eric @ wolfSSL Support

It is possible to optimize, but we have not yet implemented the needed support on this platform. You are welcome to formally request this feature.

Also can you suggest any tips, best practices or parallelization techniques to improve decryption performance with the current wolfcrypt release (5.2.0). is there any way I can improve performance, at software level.

We have several math library optimizations that you can try. Here is an example config:
https://github.com/wolfSSL/wolfssl/blob … template.h
I recommend testing with WOLFSSL_SP_MATH and WOLFSSL_SP_MATH_ALL

]Currently my application is showing 25-30% cpu usage without decryption and with decryption it shows 60-70% cpu usage, is this normal?

Without HW acceleration enabled, this sounds plausible.

Hello Iycboy,

Thanks for joining the wolfSSL Forums. The public key is required for signing with ed25519:

https://datatracker.ietf.org/doc/html/r … tion-5.1.6

Construct the secret scalar s from the first half of the digest, and the corresponding public key A, as described in the previous section.

We have some excellent examples in a separate repository:
https://github.com/wolfSSL/wolfssl-exam … pk/ed25519

Let us know if there are questions.

Thanks,
Eric @ wolfSSL Support

My colleague reminded me that this should be clarified!

The library does not support optimization for AES CBC… We do support optimization for all asymmetric math operations.

Hi abdulwazeed1,

We do not currently support any optimizations for ARMv7. Would you like to open a feature request? Please send an email to support@wolfssl.com

Thanks,
Eric @ wolfSSL Support

191

(1 replies, posted in wolfSSL)

Hello Lars,

That is an interesting use case. The library actually has a new ASN parser that can be enabled using

./configure --enable-asn=template

There are other options that can be enabled with the defines documented
in https://github.com/wolfSSL/wolfssl/blob … /src/asn.c

 * WOLFSSL_ASN_TEMPLATE: Encoding and decoding using a template.
 * WOLFSSL_DEBUG_ASN_TEMPLATE: Enables debugging output when using ASN.1
    templates.
 * WOLFSSL_ASN_TEMPLATE_TYPE_CHECK: Use ASN functions to better test compiler
    type issues for testing
 * CRLDP_VALIDATE_DATA: For ASN template only, validates the reason data

Mostly the ASN1 handling in the library is in the context of certificate handling, but maybe you'll find this extension callback example useful:
https://github.com/wolfSSL/wolfssl-exam … callback.c

Let us know if there are questions.

Thanks,
Eric @ wolfSSL Support

192

(7 replies, posted in wolfSSL)

I reviewed this with the team, and this may have been fixed since the v5.1.1 release. Could you please test with the revision master from https://github.com/wolfSSL/wolfssl ?

A new source file was added,

/wolfssl/wolfcrypt/src/kdf.c

, and it is not being built by your VS project.

The VS project files in the repository have been updated in the latest release.

194

(3 replies, posted in wolfSSL)

This is an informative error and it indicates that the peer has closed the connection and no more data will be expected.

I would suggest opening a support ticket by emailing support@wolfssl.com

195

(7 replies, posted in wolfSSL)

MCPU is supported by arm-linux-gcc
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html

-mcpu=name[+extension…]
This specifies the name of the target ARM processor. GCC uses this name to derive the name of the target ARM architecture (as if specified by -march) and the ARM processor type for which to tune for performance (as if specified by -mtune). Where this option is used in conjunction with -march or -mtune, those options take precedence over the appropriate part of this option.

196

(3 replies, posted in wolfMQTT)

Hello rlev,

With wolfMQTT, you can change the broker IP during the network connect using

MqttClient_NetConnect

. If the client was already connected to a different broker, you would need to first need to disconnect (

MqttClient_NetDisconnect

)

Hello Olle,

In order to properly prioritize your request, please open a support ticket by emailing support@wolfssl.com

Thanks,
Eric @ wolfSSL Support

198

(7 replies, posted in wolfSSL)

Please try adding a CPU in the CFLAGS:

GENERIC EXAMPLE:

./configure \
CC="/path/to/your/toolchain/toolchain-gcc" \
AR="/path/to/your/toolchain/toolchain-ar" \
AS="/path/to/your/toolchain/toolchain-gcc" \
RANLIB="/path/to/your/toolchain/toolchain-ranlib" \
LD="/path/to/your/toolchain/toolchain-ld" \
--host=<your host> \
<your other configure options here> \
CFLAGS="-mcpu=<your cpu definition here> \
<other cflags here>" \
LIBS="<libs>"

SPECIFIC EXAMPLE:

./configure \
CC="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
AR="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ar" \
AS="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc" \
RANLIB="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ranlib" \
LD="/usr/local/gcc_arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-ld" \
--host=arm-none-eabi \
--enable-aesgcm --enable-ecc \
CFLAGS="-mcpu=cortex-m4 \
-Os -specs=rdimon.specs"  \
LIBS="-Wl,--start-group -lm -lgcc -lc -lrdimon -Wl,--end-group"

199

(2 replies, posted in wolfBoot)

Hi Galadrius,

wolfBoot does not support the Intel HEX format directly, but it can be easily converted to bin via objcopy:
e.g. on arm-cortex:

arm-none-eabi-objcopy --input-target=ihex --output-target=binary firmware_v1.hex firmware_v1.bin

200

(2 replies, posted in wolfBoot)

Hi Galadrius,

I've moved this discussion to the wolfBoot sub-forum, as you were referencing the wolfBoot documentation:
https://github.com/wolfSSL/wolfBoot/blo … Signing.md

I'll check with the team to see what image formats are supported by wolfBoot.

Thanks,
Eric