Go to file
Gabriel Valcazar 35b859e87a caam-blob-example: fix the maximum input size to match the one in the driver
It was believed that the CAAM was able to create blobs from files of up to
1 MiB, because in some cases, encrypting and decrypting a large file would
result in a file identical to the original one. In reality, the CAAM's job
descriptors use 16 bits to store input/output sizes, so any size that takes up
more than 16 bits either causes the operation to fail or makes the CAAM
continue with the operation, but truncating the size to its 16 least
significant bits.

Encryption and decryption cycles that seem to work with large files are
actually encrypting and decrypting part of the original file and storing the
output in the memory address where the original file was stored, making it seem
like the process was successful when it really isn't. It's also possible that,
even if both operations work fine, the final decrypted file will differ from the
original one because it contains the decrypted truncated blob plus whatever
comes after it in memory.

Fix the size limit, dynamically alter it during runtime depending on the
operation and exit if the limit is surpassed to avoid including unrelated
memory contents in the output.

https://jira.digi.com/browse/DEL-7378

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-01-18 11:26:38 +01:00
apix-adc-example apix-pwm-example: apix-adc-example: improve arguments parsing 2020-04-02 12:39:21 -07:00
apix-can-examples apix-can: remove CAN stop from cleanup() 2021-01-12 12:05:31 +01:00
apix-gpio-example apix-gpio-example: make use of libgpiod 2020-04-27 11:00:22 +02:00
apix-i2c-example readme: reorganize the platform from newest to eldest 2020-02-06 16:35:20 +01:00
apix-pm-examples pm_example: fix compilation error 2019-09-05 12:58:40 +02:00
apix-pwm-example apix-gpio-example: make use of libgpiod 2020-04-27 11:00:22 +02:00
apix-spi-example readme: reorganize the platform from newest to eldest 2020-02-06 16:35:20 +01:00
apix-watchdog-example README.md: standarize prompts 2019-06-12 13:14:28 +02:00
awsiot-sample README.md: standarize prompts 2019-06-12 13:14:28 +02:00
ble-gatt-server-example ble-gatt-server-example: add sample application to create a BLE GATT server 2019-07-11 10:58:12 +02:00
caam-blob-example caam-blob-example: fix the maximum input size to match the one in the driver 2021-01-18 11:26:38 +01:00
cryptochip-get-random cryptochip-gen-random: refresh the warning to use the new library application 2021-01-15 08:50:43 +01:00
README.md license: use ISC license 2017-06-01 10:50:53 +02:00
libdigiapix-examples.mk makefile: add missing watchdog example and reordering 2018-11-29 11:47:25 +01:00
samples-manifest.xml cc8m: add support for the cc8m platform 2020-02-06 16:35:14 +01:00

README.md

Digi Embedded Yocto examples

This repository contains application examples and sample code for the Digi Embedded Yocto distribution.

License

Copyright 2017, Digi International Inc.

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.