You've already forked M5Stack_Linux_Libs
mirror of
https://github.com/m5stack/M5Stack_Linux_Libs.git
synced 2026-05-20 11:01:38 -07:00
@@ -0,0 +1,43 @@
|
||||
|
||||
menuconfig MBEDTLS_COMPONENT_ENABLED
|
||||
bool "Enable mbedtls component"
|
||||
default n
|
||||
|
||||
config EVEREST_ENABLED
|
||||
bool "compile mbedtls libeverest"
|
||||
default n
|
||||
depends on MBEDTLS_COMPONENT_ENABLED
|
||||
|
||||
config P256M_ENABLED
|
||||
bool "compile mbedtls libp256m"
|
||||
default n
|
||||
depends on MBEDTLS_COMPONENT_ENABLED
|
||||
|
||||
config MBEDCRYPTO_ENABLED
|
||||
bool "compile mbedtls libmbedcrypto"
|
||||
default n
|
||||
depends on MBEDTLS_COMPONENT_ENABLED
|
||||
|
||||
config MBEDX509_ENABLED
|
||||
bool "compile mbedtls libmbedx509"
|
||||
default n
|
||||
depends on MBEDTLS_COMPONENT_ENABLED
|
||||
|
||||
config MBEDTLS_ENABLED
|
||||
bool "compile mbedtls libmbedtls"
|
||||
default n
|
||||
depends on MBEDTLS_COMPONENT_ENABLED
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,282 @@
|
||||
# component/SConscript
|
||||
Import("env")
|
||||
import os
|
||||
|
||||
with open(env["PROJECT_TOOL_S"]) as f:
|
||||
exec(f.read())
|
||||
|
||||
|
||||
if "CONFIG_MBEDTLS_COMPONENT_ENABLED" in os.environ:
|
||||
check_component("mbedtls")
|
||||
SRCS = []
|
||||
INCLUDE = [ADir("../../github_source/mbedtls/include")]
|
||||
PRIVATE_INCLUDE = [ADir("../../github_source/mbedtls/library")]
|
||||
REQUIREMENTS = []
|
||||
STATIC_LIB = []
|
||||
DYNAMIC_LIB = []
|
||||
DEFINITIONS = []
|
||||
DEFINITIONS_PRIVATE = ["-std=c99", "-O2"]
|
||||
LDFLAGS = []
|
||||
LINK_SEARCH_PATH = []
|
||||
|
||||
if "CONFIG_EVEREST_ENABLED" in os.environ:
|
||||
everest_src = ["everest.c", "x25519.c", "Hacl_Curve25519_joined.c"]
|
||||
_SRCS = [
|
||||
AFile("../../github_source/mbedtls/3rdparty/everest/library/" + src)
|
||||
for src in everest_src
|
||||
]
|
||||
_INCLUDE = []
|
||||
_PRIVATE_INCLUDE = [
|
||||
ADir("../../github_source/mbedtls/3rdparty/everest/include"),
|
||||
ADir("../../github_source/mbedtls/3rdparty/everest/include/everest"),
|
||||
ADir(
|
||||
"../../github_source/mbedtls/3rdparty/everest/include/everest/kremlib"
|
||||
),
|
||||
]
|
||||
_DEFINITIONS_PRIVATE = []
|
||||
env["COMPONENTS"].append(
|
||||
{
|
||||
"target": "everest",
|
||||
"SRCS": SRCS + _SRCS,
|
||||
"INCLUDE": INCLUDE + _INCLUDE,
|
||||
"PRIVATE_INCLUDE": PRIVATE_INCLUDE + _PRIVATE_INCLUDE,
|
||||
"REQUIREMENTS": REQUIREMENTS,
|
||||
"STATIC_LIB": STATIC_LIB,
|
||||
"DYNAMIC_LIB": DYNAMIC_LIB,
|
||||
"DEFINITIONS": DEFINITIONS,
|
||||
"DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE,
|
||||
"LDFLAGS": LDFLAGS,
|
||||
"LINK_SEARCH_PATH": LINK_SEARCH_PATH,
|
||||
"REGISTER": "static",
|
||||
}
|
||||
)
|
||||
|
||||
if "CONFIG_P256M_ENABLED" in os.environ:
|
||||
p256m_src = ["p256-m_driver_entrypoints.c", "p256-m/p256-m.c"]
|
||||
_SRCS = [
|
||||
AFile("../../github_source/mbedtls/3rdparty/p256-m/" + src)
|
||||
for src in p256m_src
|
||||
]
|
||||
_INCLUDE = []
|
||||
_PRIVATE_INCLUDE = [
|
||||
ADir("../../github_source/mbedtls/3rdparty/p256-m"),
|
||||
ADir("../../github_source/mbedtls/3rdparty/p256-m/p256-m"),
|
||||
]
|
||||
_DEFINITIONS_PRIVATE = []
|
||||
env["COMPONENTS"].append(
|
||||
{
|
||||
"target": "p256m",
|
||||
"SRCS": SRCS + _SRCS,
|
||||
"INCLUDE": INCLUDE + _INCLUDE,
|
||||
"PRIVATE_INCLUDE": PRIVATE_INCLUDE + _PRIVATE_INCLUDE,
|
||||
"REQUIREMENTS": REQUIREMENTS,
|
||||
"STATIC_LIB": STATIC_LIB,
|
||||
"DYNAMIC_LIB": DYNAMIC_LIB,
|
||||
"DEFINITIONS": DEFINITIONS,
|
||||
"DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE,
|
||||
"LDFLAGS": LDFLAGS,
|
||||
"LINK_SEARCH_PATH": LINK_SEARCH_PATH,
|
||||
"REGISTER": "static",
|
||||
}
|
||||
)
|
||||
|
||||
if "CONFIG_MBEDCRYPTO_ENABLED" in os.environ:
|
||||
mbedcrypto_src = [
|
||||
"aes.c",
|
||||
"aesni.c",
|
||||
"aesce.c",
|
||||
"aria.c",
|
||||
"asn1parse.c",
|
||||
"asn1write.c",
|
||||
"base64.c",
|
||||
"bignum.c",
|
||||
"bignum_core.c",
|
||||
"bignum_mod.c",
|
||||
"bignum_mod_raw.c",
|
||||
"block_cipher.c",
|
||||
"camellia.c",
|
||||
"ccm.c",
|
||||
"chacha20.c",
|
||||
"chachapoly.c",
|
||||
"cipher.c",
|
||||
"cipher_wrap.c",
|
||||
"constant_time.c",
|
||||
"cmac.c",
|
||||
"ctr_drbg.c",
|
||||
"des.c",
|
||||
"dhm.c",
|
||||
"ecdh.c",
|
||||
"ecdsa.c",
|
||||
"ecjpake.c",
|
||||
"ecp.c",
|
||||
"ecp_curves.c",
|
||||
"ecp_curves_new.c",
|
||||
"entropy.c",
|
||||
"entropy_poll.c",
|
||||
"error.c",
|
||||
"gcm.c",
|
||||
"hkdf.c",
|
||||
"hmac_drbg.c",
|
||||
"lmots.c",
|
||||
"lms.c",
|
||||
"md.c",
|
||||
"md5.c",
|
||||
"memory_buffer_alloc.c",
|
||||
"nist_kw.c",
|
||||
"oid.c",
|
||||
"padlock.c",
|
||||
"pem.c",
|
||||
"pk.c",
|
||||
"pk_ecc.c",
|
||||
"pk_wrap.c",
|
||||
"pkcs12.c",
|
||||
"pkcs5.c",
|
||||
"pkparse.c",
|
||||
"pkwrite.c",
|
||||
"platform.c",
|
||||
"platform_util.c",
|
||||
"poly1305.c",
|
||||
"psa_crypto.c",
|
||||
"psa_crypto_aead.c",
|
||||
"psa_crypto_cipher.c",
|
||||
"psa_crypto_client.c",
|
||||
"psa_crypto_driver_wrappers_no_static.c",
|
||||
"psa_crypto_ecp.c",
|
||||
"psa_crypto_ffdh.c",
|
||||
"psa_crypto_hash.c",
|
||||
"psa_crypto_mac.c",
|
||||
"psa_crypto_pake.c",
|
||||
"psa_crypto_rsa.c",
|
||||
"psa_crypto_se.c",
|
||||
"psa_crypto_slot_management.c",
|
||||
"psa_crypto_storage.c",
|
||||
"psa_its_file.c",
|
||||
"psa_util.c",
|
||||
"ripemd160.c",
|
||||
"rsa.c",
|
||||
"rsa_alt_helpers.c",
|
||||
"sha1.c",
|
||||
"sha256.c",
|
||||
"sha512.c",
|
||||
"sha3.c",
|
||||
"threading.c",
|
||||
"timing.c",
|
||||
"version.c",
|
||||
"version_features.c",
|
||||
]
|
||||
_SRCS = [
|
||||
AFile("../../github_source/mbedtls/library/" + src)
|
||||
for src in mbedcrypto_src
|
||||
]
|
||||
_INCLUDE = []
|
||||
_DEFINITIONS_PRIVATE = []
|
||||
env["COMPONENTS"].append(
|
||||
{
|
||||
"target": "mbedcrypto",
|
||||
"SRCS": SRCS + _SRCS,
|
||||
"INCLUDE": INCLUDE + _INCLUDE,
|
||||
"PRIVATE_INCLUDE": PRIVATE_INCLUDE,
|
||||
"REQUIREMENTS": REQUIREMENTS,
|
||||
"STATIC_LIB": STATIC_LIB,
|
||||
"DYNAMIC_LIB": DYNAMIC_LIB,
|
||||
"DEFINITIONS": DEFINITIONS,
|
||||
"DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE,
|
||||
"LDFLAGS": LDFLAGS,
|
||||
"LINK_SEARCH_PATH": LINK_SEARCH_PATH,
|
||||
"REGISTER": "static",
|
||||
}
|
||||
)
|
||||
|
||||
if "CONFIG_MBEDX509_ENABLED" in os.environ:
|
||||
mbedx509_src = [
|
||||
"pkcs7.c",
|
||||
"x509.c",
|
||||
"x509_create.c",
|
||||
"x509_crl.c",
|
||||
"x509_crt.c",
|
||||
"x509_csr.c",
|
||||
"x509write.c",
|
||||
"x509write_crt.c",
|
||||
"x509write_csr.c",
|
||||
]
|
||||
_SRCS = [
|
||||
AFile("../../github_source/mbedtls/library/" + src) for src in mbedx509_src
|
||||
]
|
||||
_INCLUDE = []
|
||||
_DEFINITIONS_PRIVATE = []
|
||||
env["COMPONENTS"].append(
|
||||
{
|
||||
"target": "mbedx509",
|
||||
"SRCS": SRCS + _SRCS,
|
||||
"INCLUDE": INCLUDE + _INCLUDE,
|
||||
"PRIVATE_INCLUDE": PRIVATE_INCLUDE,
|
||||
"REQUIREMENTS": REQUIREMENTS,
|
||||
"STATIC_LIB": STATIC_LIB,
|
||||
"DYNAMIC_LIB": DYNAMIC_LIB,
|
||||
"DEFINITIONS": DEFINITIONS,
|
||||
"DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE,
|
||||
"LDFLAGS": LDFLAGS,
|
||||
"LINK_SEARCH_PATH": LINK_SEARCH_PATH,
|
||||
"REGISTER": "static",
|
||||
}
|
||||
)
|
||||
|
||||
if "CONFIG_MBEDTLS_ENABLED" in os.environ:
|
||||
mbedtls_src = [
|
||||
"debug.c",
|
||||
"mps_reader.c",
|
||||
"mps_trace.c",
|
||||
"net_sockets.c",
|
||||
"ssl_cache.c",
|
||||
"ssl_ciphersuites.c",
|
||||
"ssl_client.c",
|
||||
"ssl_cookie.c",
|
||||
"ssl_debug_helpers_generated.c",
|
||||
"ssl_msg.c",
|
||||
"ssl_ticket.c",
|
||||
"ssl_tls.c",
|
||||
"ssl_tls12_client.c",
|
||||
"ssl_tls12_server.c",
|
||||
"ssl_tls13_keys.c",
|
||||
"ssl_tls13_server.c",
|
||||
"ssl_tls13_client.c",
|
||||
"ssl_tls13_generic.c",
|
||||
]
|
||||
_SRCS = [
|
||||
AFile("../../github_source/mbedtls/library/" + src) for src in mbedtls_src
|
||||
]
|
||||
_INCLUDE = []
|
||||
_DEFINITIONS_PRIVATE = []
|
||||
env["COMPONENTS"].append(
|
||||
{
|
||||
"target": "mbedtls",
|
||||
"SRCS": SRCS + _SRCS,
|
||||
"INCLUDE": INCLUDE + _INCLUDE,
|
||||
"PRIVATE_INCLUDE": PRIVATE_INCLUDE,
|
||||
"REQUIREMENTS": REQUIREMENTS,
|
||||
"STATIC_LIB": STATIC_LIB,
|
||||
"DYNAMIC_LIB": DYNAMIC_LIB,
|
||||
"DEFINITIONS": DEFINITIONS,
|
||||
"DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE,
|
||||
"LDFLAGS": LDFLAGS,
|
||||
"LINK_SEARCH_PATH": LINK_SEARCH_PATH,
|
||||
"REGISTER": "static",
|
||||
}
|
||||
)
|
||||
|
||||
env["COMPONENTS"].append(
|
||||
{
|
||||
"target": os.path.basename(env["component_dir"]),
|
||||
"SRCS": SRCS,
|
||||
"INCLUDE": INCLUDE,
|
||||
"PRIVATE_INCLUDE": PRIVATE_INCLUDE,
|
||||
"REQUIREMENTS": REQUIREMENTS,
|
||||
"STATIC_LIB": STATIC_LIB,
|
||||
"DYNAMIC_LIB": DYNAMIC_LIB,
|
||||
"DEFINITIONS": DEFINITIONS,
|
||||
"DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE,
|
||||
"LDFLAGS": LDFLAGS,
|
||||
"LINK_SEARCH_PATH": LINK_SEARCH_PATH,
|
||||
"REGISTER": "static",
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
dist
|
||||
build
|
||||
.config.mk
|
||||
.flash.conf.json
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
from pathlib import Path
|
||||
import os
|
||||
with open(str(Path(os.getcwd())/'..'/'..'/'tools'/'scons'/'project.py')) as f:
|
||||
exec(f.read())
|
||||
@@ -0,0 +1,12 @@
|
||||
# unix
|
||||
# CONFIG_TOOLCHAIN_PATH="/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin"
|
||||
# win
|
||||
# CONFIG_TOOLCHAIN_PATH="..\\gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf\\bin"
|
||||
|
||||
# CONFIG_TOOLCHAIN_PREFIX="arm-linux-gnueabihf-"
|
||||
CONFIG_MBEDTLS_COMPONENT_ENABLED=y
|
||||
CONFIG_EVEREST_ENABLED=y
|
||||
CONFIG_P256M_ENABLED=y
|
||||
CONFIG_MBEDCRYPTO_ENABLED=y
|
||||
CONFIG_MBEDX509_ENABLED=y
|
||||
CONFIG_MBEDTLS_ENABLED=y
|
||||
@@ -0,0 +1,33 @@
|
||||
# project_root/src/SConscript
|
||||
import os
|
||||
# Import the environment from the SConstruct file
|
||||
Import('env')
|
||||
with open(env['PROJECT_TOOL_S']) as f:
|
||||
exec(f.read())
|
||||
|
||||
|
||||
SRCS = Glob('src/*.c*')
|
||||
INCLUDE = [ADir('include'), ADir('.')]
|
||||
PRIVATE_INCLUDE = []
|
||||
REQUIREMENTS = ['pthread', 'mbedtls_component', 'mbedtls', 'mbedcrypto', 'mbedx509']
|
||||
STATIC_LIB = []
|
||||
DYNAMIC_LIB = []
|
||||
DEFINITIONS = []
|
||||
DEFINITIONS_PRIVATE = []
|
||||
LDFLAGS = []
|
||||
LINK_SEARCH_PATH = []
|
||||
|
||||
|
||||
env['COMPONENTS'].append({'target':env['PROJECT_NAME'],
|
||||
'SRCS':SRCS,
|
||||
'INCLUDE':INCLUDE,
|
||||
'PRIVATE_INCLUDE':PRIVATE_INCLUDE,
|
||||
'REQUIREMENTS':REQUIREMENTS,
|
||||
'STATIC_LIB':STATIC_LIB,
|
||||
'DYNAMIC_LIB':DYNAMIC_LIB,
|
||||
'DEFINITIONS':DEFINITIONS,
|
||||
'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE,
|
||||
'LDFLAGS':LDFLAGS,
|
||||
'LINK_SEARCH_PATH':LINK_SEARCH_PATH,
|
||||
'REGISTER':'project'
|
||||
})
|
||||
@@ -0,0 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <mbedtls/aes.h>
|
||||
|
||||
int main() {
|
||||
// Define AES key and input data for encryption
|
||||
const unsigned char key[16] = "1234567890abcdef"; // 128-bit key (16 bytes)
|
||||
unsigned char input[16] = "HelloAESExample!"; // 16-byte data to be encrypted
|
||||
unsigned char output[16]; // Buffer to store encryption result
|
||||
unsigned char decrypted[16]; // Buffer to store decryption result
|
||||
|
||||
// Initialize AES encryption context
|
||||
mbedtls_aes_context aes;
|
||||
mbedtls_aes_init(&aes);
|
||||
|
||||
// Set the encryption key
|
||||
if (mbedtls_aes_setkey_enc(&aes, key, 128) != 0) {
|
||||
printf("Failed to set AES encryption key\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Perform AES encryption
|
||||
if (mbedtls_aes_crypt_ecb(&aes, MBEDTLS_AES_ENCRYPT, input, output) != 0) {
|
||||
printf("AES encryption failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Print the encrypted data
|
||||
printf("Encrypted data: ");
|
||||
for (int i = 0; i < 16; i++) {
|
||||
printf("%02X ", output[i]);
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
// Set the decryption key
|
||||
if (mbedtls_aes_setkey_dec(&aes, key, 128) != 0) {
|
||||
printf("Failed to set AES decryption key\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Perform AES decryption
|
||||
if (mbedtls_aes_crypt_ecb(&aes, MBEDTLS_AES_DECRYPT, output, decrypted) != 0) {
|
||||
printf("AES decryption failed\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Print the decrypted data
|
||||
printf("Decrypted data: ");
|
||||
for (int i = 0; i < 16; i++) {
|
||||
printf("%c", decrypted[i]);
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
// Free AES context
|
||||
mbedtls_aes_free(&aes);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -50,6 +50,7 @@ git_clone_and_checkout_commit https://github.com/simdjson/simdjson.git 9b314922a
|
||||
git_clone_and_checkout_commit https://github.com/abseil/abseil-cpp.git ce986ae569c3b11ce2f2e53ed00c0b597bdfed58
|
||||
git_clone_and_checkout_commit https://github.com/google/flatbuffers.git 1c514626e83c20fffa8557e75641848e1e15cd5e
|
||||
git_clone_and_checkout_commit https://github.com/mongodb/mongo-c-driver.git 915277362a01f7304a6e119fb7c2030f5401dca9
|
||||
git_clone_and_checkout_commit https://github.com/Mbed-TLS/mbedtls.git 107ea89daaefb9867ea9121002fbbdf926780e98
|
||||
|
||||
# opencv-mobile-2.4.13.7-armlinux https://github.com/nihui/opencv-mobile/releases/download/v26/opencv-mobile-2.4.13.7-armlinux.zip
|
||||
|
||||
|
||||
Reference in New Issue
Block a user