The Secure Device Onboard All-In-One demo is designed to run different Secure Device Onboard services like Manufacturer, IoT Platform SDK Service and Rendezvous Service from a single docker instance. The purpose of this demo is to fast-track demonstration of Secure Device Onboard protocol using different client implementations.
NOTE: The All-In-One demo is provided solely to demonstrate out-of-box operation of Secure Device Onboard components. This demo is not recommended for use in any production capacity. Appropriate security measures with respect to key-store management and configuration management should be considered while performing production deployment of any Secure Device Onboard component.
The following are the system constraints for the All-in-One demo.
- Operating System: Ubuntu* 20.04
- Java* Development Kit 11
- Apache Maven* 3.5.4 (Optional) software for building the demo from source
- Java IDE (Optional) for convenience in modifying the source code
- Docker 18.09
- Docker compose 1.21.2
- Haveged
Appropriate proxy configuration should be updated in _JAVA_OPTIONS environment variable. (Mandatory, if you are working behind a proxy.)
Update the proxy information in _JAVA_OPTIONS as _JAVA_OPTIONS=-Dhttp.proxyHost=http_proxy_host -Dhttp.proxyPort=http_proxy_port -Dhttps.proxyHost=https_proxy_host -Dhttps.proxyPort=https_proxy_port.
The all-in-one-demo repository is structured into following 2 folders.
-
services: The implementation for All-In-One demo services, which includes messages redirection as well automatic extension of vouchers and scheduling TO0 requests for them. -
container: The packaging of the demo is managed here. The overlay folder contains the configuration and data files that needs to be copied to final demo package.
The All-In-One demo is dependent on following repositories.
-
iot-platform-sdk: https://github.com/secure-device-onboard/iot-platform-sdk -
supply-chain-tools: https://github.com/secure-device-onboard/supply-chain-tools -
rendezvous-service: https://github.com/secure-device-onboard/rendezvous-service
These repositories should be built using 'mvn clean install' command on the host machine before building all-in-one-demo repository using following command.
mvn clean install
Alternatively, you have to option to build All-in-One demo using Docker.Read more
cd build/
docker-compose up --build
After successful build, the demo package is available at demo/aio.tar.gz.
To run the demo, extract the demo package and follow the README.md.