The ONP-SDK consists in a collection of software libraries (and also available as source code) implementing Galileo OSNMA and the support for the ONP-SVC. ONP-SDK is written in C ++ 17 and is designed to be easily integrated into different platforms. Dedicated interfaces are defined to allow the implementation of auxiliary functions through external libraries; this approach allows to simplify the integration of the ONP-APP in target platform that requires use of specific libraries (e.g., cryptographic functions, file system). (e.g., cryptographic functions, file system).
The Standalone OSNMA consists in a full implementation of the OSNMA protocol. This component has two main data interfaces: an input interface to receive navigation data to be authenticated (and the required input keys and configuration) and an output interface to provide authentication status information and authenticated navigation messages.
The storage, crypto and logging functions shall be implemented through external libraries. Software interface defines the signature of the methods to be implemented. This approach allows to support the portability requirement since these functions can be defined considering the target platform, without modifying the software core.
The core OSNMA functionalities include: DSM and MACK processors orchestrated through a Controller, a Settings function, a Loose Time Synchronization function and KeyStorage function to handle keys at runtime.