遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/531)
<a href="https://www.bestpractices.dev/projects/531"><img src="https://www.bestpractices.dev/projects/531/badge"></a>
Crypto and TLS library for C++
This is required by the coding standard.
All headers include an appropriate statement of the license
We use git Repository on GitHub, which uses git. git is distributed.
Issues that would be useful small tasks are tagged with "good first issue" https://github.com/randombit/botan/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
The build is reproducible.
警告:需要URL,但找不到URL。
Run ./botan-test after building. See https://botan.randombit.net/manual/building.html for more information
Continuous integration does a build/test cycle for every commit. https://travis-ci.org/randombit/botan
Line coverage of the test suite is currently 92.5% https://codecov.io/gh/randombit/botan
The coverage report also checks branch coverage. The current report shows ~91% coverage
HTTP is used for OCSP access but HTTPS is not appropriate in that application as the entire response is signed by a trusted key.
TLS v1.2 and v1.3 are supported.
The project website https://botan.randombit.net uses the following headers
X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 1; mode=block Content-Security-Policy: script-src 'self' Strict-Transport-Security: max-age=2592000 // One or more of the required security hardening headers is missing.
A security audit was performed in 2015 https://botan.randombit.net/releases/audit_1.11.18.pdf
-fstack-protector is used by default. https://github.com/randombit/botan/blob/master/src/build-data/cc/gcc.txt
In the design we take measures to limit the possibility of memory errors, which are most likely to have catastrophic results with regards to security. In the history of the project to date, only 4 memory errors have been identified.
The tests are run under valgrind and with ASan on every commit as part of CI
BOTAN_ASSERT and BOTAN_DEBUG_ASSERT macros are defined which are used extensively in the codebase.
BOTAN_ASSERT
BOTAN_DEBUG_ASSERT
后退