Crypto Documentation#
This documentation describes the structure, usage, and configuration of the Crypto module in this repository, following the SCORE module folder structure and the SCORE building blocks concept.
Overview#
This repository documents the Crypto module implementation, including its build, test, documentation, safety and security management, verification, and release workflows. It provides the documentation artifacts needed for the Crypto module, including the component architecture documentation in Component Architecture Documentation and the detailed design documentation in Example: Detailed Design.
Module Documentation#
The Crypto module provides a cryptographic middleware stack for automotive ECUs, including client-side APIs, a crypto daemon, provider integration, and supporting safety and security documentation.
The sections below provide the module-level documentation structure for these Crypto-specific artifacts, and additional content should be added in the relevant sections for feature architecture, safety analysis, security analysis, manuals, and related work products.
.. mod:: Crypto Module
:id: mod__crypto_module
:includes: comp__crypto_component
.. mod_view_sta:: Crypto Module Static View
:id: mod_view_sta__crypto__module
:includes: comp__crypto_component
.. needarch::
:scale: 50
:align: center
{{ draw_module(need(), needs) }}
Component Documentation#
For documentation of individual components within this module:
Architecture Modeling Reference#
A reference for modeling the Crypto architecture in Sphinx Needs can be found in
Please note that this is a reference model for using Sphinx Needs for architecture modeling, not the canonical architecture documentation for the Crypto module. The actual architecture documentation of the Crypto components and features should follow the provided guidance and module-specific content.
Quick Start - Building and Testing#
To build the entire module:
bazel build //score/...
To run all tests:
bazel test //score/...
To run only component or feature integration tests:
bazel test //score/...
Module Build Configuration#
The project_config.bzl file at the root of the module defines metadata used by Bazel macros.
This file controls build behavior and project-specific settings. It should follow the S-CORE definition.
See S-CORE user guide for project_config.bzl for details.
The configuration enables conditional build behavior:
Language-specific tools: For C++ code, tools like
clang-tidyare used; for Rust code,clippyis usedSafety level: The ASIL level affects safety-related build settings and validation
Source code languages: The build system optimizes for the configured languages