Documentation

LibOSDP Library

This section walks through taking LibOSDP from source to a working integration. Start with building and installing the library, then cross-compile it for your target, turn on secure channel for encrypted and authenticated links, and reach for the debugging tools when something misbehaves. The compatibility page tracks which OSDP features are supported.

In this section

  • Build and Install — Build and install LibOSDP from source with CMake or the lean Make build — produces static and shared libraries for Linux, macOS, and Windows.
  • Cross Compiling — Cross-compile LibOSDP for embedded and bare-metal targets using the lean Make build, with toolchain, platform-porting, and dependency guidance for constrained systems.
  • Secure Channel — Enable the OSDP secure channel in LibOSDP for encrypted, authenticated CP–PD links — covering SCBK keys, install mode, random-number requirements, and secure channel setup.
  • Smartcard Commands — Use the OSDP smartcard commands in LibOSDP — retrieve PIV objects and run GENAUTH/CRAUTH cryptographic challenges against a PD's smartcard, with multi-part fragmentation handled by the library.
  • Debugging — Debug LibOSDP integrations with built-in tracing, packet capture, and logging, plus the recommended on-bus capture workflow for production troubleshooting.
  • Compatibility — LibOSDP device interoperability — tested CP/PD pairings, first-party Osprio hardware, and on-bench OSDP conformance testing with shareable compliance reports.
  • Releases and Versioning — How to read a LibOSDP version — what a bare version, a git-position suffix, and the -dev pre-release marker each mean, how release lines and maintenance branches work, what a version bump promises, and how to verify a release is authentic.