README for Mbed TLS
===================
Mbed TLS is a C library that implements cryptographic primitives, X.509 certificate manipulation and the SSL/TLS and DTLS protocols. Its small code footprint makes it suitable for embedded systems.
Mbed TLS includes a reference implementation of the [PSA Cryptography API](#psa-cryptography-api). This is currently a preview for evaluation purposes only.
Configuration
-------------
Mbed TLS should build out of the box on most systems. Some platform specific options are available in the fully documented configuration file `include/mbedtls/mbedtls_config.h`, which is also the place where features can be selected. This file can be edited manually, or in a more programmatic way using the Python 3 script `scripts/config.py` (use `--help` for usage instructions).
Compiler options can be set using conventional environment variables such as `CC` and `CFLAGS` when using the Make and CMake build system (see below).
We provide some non-standard configurations focused on specific use cases in the `configs/` directory. You can read more about those in `configs/README.txt`
Documentation
-------------
The main Mbed TLS documentation is available via [ReadTheDocs](https://mbed-tls.readthedocs.io/).
Documentation for the PSA Cryptography API is available [on GitHub](https://arm-software.github.io/psa-api/crypto/).
To generate a local copy of the library documentation in HTML format, tailored to your compile-time configuration:
1. Make sure that [Doxygen](http://www.doxygen.nl/) is installed.
1. Run `make apidoc`.
1. Browse `apidoc/index.html` or `apidoc/modules.html`.
For other sources of documentation, see the [SUPPORT](SUPPORT.md) document.
Compiling
---------
There are currently three active build systems used within Mbed TLS releases:
- GNU Make
- CMake
- Microsoft Visual Studio
The main systems used for development are CMake and GNU Make. Those systems are always complete and up-to-date. The others should reflect all changes present in the CMake and Make build system, although features may not be ported there automatically.
The Make and CMake build systems create three libraries: libmbedcrypto, libmbedx509, and libmbedtls. Note that libmbedtls depends on libmbedx509 and libmbedcrypto, and libmbedx509 depends on libmbedcrypto. As a result, some linkers will expect flags to be in a specific order, for example the GNU linker wants `-lmbedtls -lmbedx509 -lmbedcrypto`.
### Tool versions
You need the following tools to build the library with the provided makefiles:
* GNU Make 3.82 or a build tool that CMake supports.
* A C99 toolchain (compiler, linker, archiver). We actively test with GCC 5.4, Clang 3.8, IAR 8 and Visual Studio 2013. More recent versions should work. Slightly older versions may work.
* Python 3.6 to generate the test code, and to generate sample programs in the development branch.
* Perl to run the tests, and to generate some source files in the development branch.
* CMake 3.10.2 or later (if using CMake).
* Microsoft Visual Studio 2013 or later (if using Visual Studio).
* Doxygen 1.8.11 or later (if building the documentation; slightly older versions should work).
### Generated source files in the development branch
The source code of Mbed TLS includes some files that are automatically generated by scripts and whose content depends only on the Mbed TLS source, not on the platform or on the library configuration. These files are not included in the development branch of Mbed TLS, but the generated files are included in official releases. This section explains how to generate the missing files in the development branch.
The following tools are required:
* Perl, for some library source files and for Visual Studio build files.
* Python 3 and some Python packages, for some library source files, sample programs and test data. To install the necessary packages, run:
```
python3 -m pip install --user -r scripts/basic.requirements.txt
```
Depending on your Python installation, you may need to invoke `python` instead of `python3`. To install the packages system-wide, omit the `--user` option.
* A C compiler for the host platform, for some test data.
If you are cross-compiling, you must set the `CC` environment variable to a C compiler for the host platform when generating the configuration-independent files.
Any of the following methods are available to generate the configuration-independent files:
* If not cross-compiling, running `make` with any target, or just `make`, will automatically generate required files.
* On non-Windows systems, when not cross-compiling, CMake will generate the required files automatically.
* Run `make generated_files` to generate all the configuration-independent files.
* On Unix/POSIX systems, run `tests/scripts/check-generated-files.sh -u` to generate all the configuration-independent files.
* On Windows, run `scripts\make_generated_files.bat` to generate all the configuration-independent files.
### Make
We require GNU Make. To build the library and the sample programs, GNU Make and a C compiler are sufficient. Some of the more advanced build targets require some Unix/Linux tools.
We intentionally only use a minimum of functionality in the makefiles in order to keep them as simple and independent of different toolchains as possible, to allow users to more easily move between different platforms. Users who need more features are recommended to use CMake.
In order to build from the source code using GNU Make, just enter at the command line:
make
In order to run the tests, enter:
make check
The tests need Python to be built and Perl to be run. If you don't have one of them installed, you can skip building the tests with:
make no_test
You'll still be able to run a much smaller set of tests with:
programs/test/selftest
In order to build for a Windows platform, you should use `WINDOWS_BUILD=1` if the target is Windows but the build environment is Unix-like (for instance when cross-compiling, or compiling from an MSYS shell), and `WINDOWS=1` if the build environment is a Windows shell (for instance using mingw32-make) (in that case some targets will not be available).
Setting the variable `SHARED` in your environment will build shared libraries in addition to the static libraries. Setting `DEBUG` gives you a debug build. You can override `CFLAGS` and `LDFLAGS` by setting them in your environment or on the make command line; compiler warning options may be overridden separately using `WARNING_CFLAGS`. Some directory-specific options (for example, `-I` directives) are still preserved.
Please note that setting `CFLAGS` overrides its default value of `-O2` and setting `WARNING_CFLAGS` overrides its default value (starting with `-Wall -Wextra`), so if you just want to add some warning options to the default ones, you can do so by setting `CFLAGS=-O2 -Werror` for example. Setting `WARNING_CFLAGS` is useful when you want to get rid of its default content (for example because your compiler doesn't accept `-Wall` as an option). Directory-specific options cannot be overridden from the command line.
Depending on your platform, you might run into some issues. Please check the Makefiles in `library/`, `programs/` and `tests/` for options to manually add or remove for specific platforms. You can also check [the Mbed TLS Knowledge Base](https://mbed-tls.readthedocs.io/en/latest/kb/) for articles on your platform or issue.
In case you find that you need to do something else as well, please let us know what, so we can add it to the [Mbed TLS Knowledge Base](https://mbed-tls.readthedocs.io/en/latest/kb/).
### CMake
In order to build the source using CMake in a separate directory (recommended), just enter at the command line:
mkdir /path/to/build_dir && cd /path/to/build_dir
cmake /path/to/mbedtls_source
cmake --build .
In order to run the tests, enter:
ctest
The test suites need Python to be built and Perl to be e
没有合适的资源?快使用搜索试试~ 我知道了~
OPTEE-OS (可信执行环境操作系统)
共2000个文件
c:1376个
h:608个
md:7个
需积分: 5 6 下载量 77 浏览量
2023-12-22
10:15:29
上传
评论
收藏 5.06MB RAR 举报
温馨提示
OP-TEE 是可信执行环境 (Trusted Execution Environment,TEE)的一个开源实现。使用 TrustZone 技术的 Cortex-A 内核。OP-TEE 实现了 TEE 内部核心 API(向受信任应用程序公开的 API)和 TEE 客户端(描述如何与 TEE 通信的 API)。OP-TEE由 - 【安全世界操作系统(optee_OS)】 - 【普通世界客户端(optee_client)】 - 【测试套件(optee_test/xtest)】 - Linux驱动程序组成。 这里是OPTEE-OS的部分
资源推荐
资源详情
资源评论
收起资源包目录
OPTEE-OS (可信执行环境操作系统) (2000个子文件)
ecp_curves.c 328KB
ssl_tls.c 312KB
ssl_msg.c 204KB
des.c 158KB
ssl_tls12_server.c 151KB
ssl_tls12_client.c 127KB
tee_svc_cryp.c 121KB
ecp.c 113KB
ssl_tls13_server.c 105KB
ltc_ecc_fp_mulmod.c 103KB
ssl_tls13_client.c 101KB
blake2bmac_test.c 101KB
ssl_ciphersuites.c 91KB
x509_crt.c 87KB
tee_rpmb_fs.c 76KB
rsa.c 75KB
bignum.c 74KB
aes.c 72KB
clk-stm32mp13.c 70KB
tee_api_operations.c 70KB
khazad.c 69KB
aes_tab.c 68KB
anubis.c 67KB
ssl_tls13_keys.c 66KB
core_mmu.c 65KB
whirltab.c 59KB
ssl_tls13_generic.c 57KB
bget.c 56KB
cipher_wrap.c 55KB
inflate.c 55KB
blake2smac_test.c 52KB
cipher.c 51KB
tee_pager.c 51KB
pk_wrap.c 50KB
tiger.c 50KB
x509.c 49KB
pkparse.c 46KB
twofish_tab.c 46KB
stm32_i2c.c 44KB
ecjpake.c 42KB
caam_rsa.c 41KB
cast5.c 41KB
clk-stm32mp15.c 38KB
gcm.c 38KB
sha512.c 36KB
error.c 36KB
aria.c 36KB
constant_time.c 35KB
core_mmu_lpae.c 35KB
stm32_saes.c 35KB
utils_dmaobj.c 35KB
camellia.c 34KB
caam_prime_rsa.c 34KB
ssl_client.c 33KB
cmac.c 33KB
stm32_cryp.c 32KB
vm.c 32KB
des.c 32KB
aesni.c 31KB
versal_trng.c 31KB
oid.c 30KB
pk.c 29KB
lmots.c 29KB
camellia.c 28KB
sha256.c 28KB
ctr_drbg.c 28KB
version_features.c 28KB
ecdsa.c 27KB
lms.c 27KB
blowfish.c 27KB
sosemanuk.c 26KB
tee_api_objects.c 26KB
sha3_test.c 26KB
bignum_core.c 26KB
tee_svc.c 25KB
md.c 25KB
bget_malloc.c 25KB
rsa.c 25KB
tee_ree_fs.c 25KB
hmac_test.c 24KB
x509write_crt.c 24KB
stm32_gpio.c 23KB
rsassa.c 23KB
pkcs7.c 23KB
versal_nvm.c 23KB
tee_api_arith_mpi.c 22KB
stm32_bsec.c 22KB
crypto.c 22KB
caam_prime_dsa.c 22KB
ccm.c 22KB
caam_cipher.c 22KB
nist_kw.c 22KB
fs_htree.c 22KB
fdt_overlay.c 22KB
ecdh.c 21KB
ecc.c 21KB
tee_svc_storage.c 21KB
x509_crl.c 21KB
saferp.c 21KB
caam_dsa.c 21KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
_UPS_
- 粉丝: 1056
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 运营中心绩效考核方案.docx
- 西门子多轴通用伺服步进FB块程序模板:支持PTO脉冲与PN网口模式,含中文注释与文档说明,西门子1200伺服步进FB块程序西门子程序模板 程序内含两个FB,一个是scl写的,一个是梯形图,可以多轴多次
- 外贸部门绩效考核方案的副本.doc
- 外贸部门绩效考核方案.doc
- 关于内审部门的KPI绩效考核设计.doc
- 仓库考核制度.doc
- 仓库绩效考核制度.doc
- 策划部绩效考核方案及相关表格.docx
- 策划部岗位职责和考核标准.doc
- 基于全阶磁链观测器的异步电机矢量控制策略:模型参考自适应动态性能优化,基于全阶磁链观测器的异步电机矢量控制 全阶磁链观测器的主要思想是将异步电机模型作为参考,把状态估计的方程作为可调节部分
- 客户服务部绩效考核指标及绩效考核方案.docx
- 客服人员绩效考核方案.doc.docx
- 品质管理部门绩效考核KPI绩效指标.docx
- 质量部绩效考核方案.doc.docx
- 品质部绩效考核方案.docx
- IT运维绩效考核方案.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功