Expand description
Authentication plugin SPI (OMG DDS-Security 1.1 §8.3).
Responsible for:
- Identity validation at participant start — validate the local identity (e.g. X.509 cert + private key) against the trust anchor.
- Identity handshake between two participants — challenge/ response with signed nonces, spec §8.3.2.
- SharedSecret creation at the end of the handshake — input for the CryptographicPlugin for key derivation.
The SPI is state-machine-light — the plugin holds the
handshake state itself. The caller (DCPS layer) only triggers
begin_handshake_request/reply, process_handshake_reply,
process_handshake_final.
zerodds-lint: allow no_dyn_in_safe
(The plugin SPI needs Box<dyn AuthenticationPlugin>.)
Structs§
- Handshake
Handle - Opaque handle for a running handshake.
- Identity
Handle - Opaque handle for a validated identity. The plugin-internal state (X.509 cert, keys) is not exposed outward through this handle.
- Shared
Secret Handle - Opaque handle for a shared secret (output of a completed
handshake). Passed on to the
CryptographicPlugin.
Enums§
- Handshake
Step Outcome - Result of a handshake step.
Traits§
- Authentication
Plugin - Authentication plugin trait. Spec §8.3.2.7.
- Shared
Secret Provider - Lookup bridge between
AuthenticationPluginandcrate::crypto::CryptographicPlugin.
Type Aliases§
- Auth
Plugin Box - Factory alias — avoids
Box<dyn ...>boilerplate at call sites.