Skip to main content

Module authentication

Module authentication 

Source
Expand description

Authentication plugin SPI (OMG DDS-Security 1.1 §8.3).

Responsible for:

  1. Identity validation at participant start — validate the local identity (e.g. X.509 cert + private key) against the trust anchor.
  2. Identity handshake between two participants — challenge/ response with signed nonces, spec §8.3.2.
  3. 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§

HandshakeHandle
Opaque handle for a running handshake.
IdentityHandle
Opaque handle for a validated identity. The plugin-internal state (X.509 cert, keys) is not exposed outward through this handle.
SharedSecretHandle
Opaque handle for a shared secret (output of a completed handshake). Passed on to the CryptographicPlugin.

Enums§

HandshakeStepOutcome
Result of a handshake step.

Traits§

AuthenticationPlugin
Authentication plugin trait. Spec §8.3.2.7.
SharedSecretProvider
Lookup bridge between AuthenticationPlugin and crate::crypto::CryptographicPlugin.

Type Aliases§

AuthPluginBox
Factory alias — avoids Box<dyn ...> boilerplate at call sites.