YACA - Yet Another Crypto API Basic information: Code Style: Tizen coding style (doc/coding-rules.txt) Project structure: api/yaca/ - Public API (headers) doc/ - Documentation examples/ - Usage examples packaging/ - RPM spec file src/ - Source General design: - All memory allocated by API should be freed with yaca_free() - Contexts and keys should be released with yaca_context_destroy()/yaca_key_destroy() - Function names: yaca__; Ex: yaca_verify_initialize() - Simplified/Simple functions don't have part, but have prefix - Enums: YACA__; Ex: YACA_KEY_LENGTH_256BIT - Objects (context, key) end with _h - Functions returns YACA_ERROR_NONE on success, negative values on error Simplified API: - Is located in yaca_simple.h - Currently, to use it - some functions from yaca_crypto.h and yaca_key.h are needed - Symmetric ciphers (except for GCM and CCM), message digests and signatures are only operations that are supported - All operations are single-shot and output is allocated by library API: - All contexts are created by appropriate _initialize() functions - Keys are created by generate or import functions Examples: - It is possible to compile-check examples with "make" command Tests: All tests are developed at security-tests repository from tizen.org, branch yaca. git clone ssh://[USER_ID]@review.tizen.org:29418/platform/core/test/security-tests -b yaca Build all tests with command: cmake -DBUILD_ALL_TESTS=OFF -DBUILD_YACA=ON; make Run all tests with command: yaca-test