Skip to main content

Module token

Module token 

Source
Expand description

DDS-Security 1.2 Token-Strukturen (DataHolder + Property-Records).

Spec: §7.2.6 (Property_t / BinaryProperty_t), §7.2.7 (DataHolder), §7.4.1.4 (IdentityToken im SPDP-Announce).

Ein DataHolder ist die generische Wire-Repraesentation aller Security-Tokens (IdentityToken, PermissionsToken, IdentityStatus- Token, AuthRequestMessageToken, HandshakeMessageToken, CryptoToken, ParticipantCryptoToken etc.). Felder:

struct DataHolder_t {
    string                       class_id;
    sequence<Property_t>         properties;
    sequence<BinaryProperty_t>   binary_properties;
};
struct Property_t        { string name; string value; };
struct BinaryProperty_t  { string name; sequence<octet> value; };

WICHTIG: das Wire-Property_t (Spec §7.2.6 Tab.5) hat kein propagate-Feld — das ist Local-Filter-State im plug-konfigurierten zerodds_security::PropertyList.

Encoding ist OMG-CDR (XCDR1) — der DataHolder wird als Big-/Little- Endian Stream serialisiert, je nachdem in welchem Encapsulation- Kontext er sitzt (typisch PL_CDR_LE der ParameterList, also LE).

§Verwendung

use zerodds_security::token::{DataHolder, IdentityToken};
let tok = IdentityToken::pki_dh_v12("01:23:45", "rsa-2048", "FA:CE", "rsa-2048");
let bytes = tok.to_cdr_le();
let back = DataHolder::from_cdr_le(&bytes).unwrap();
assert_eq!(tok, back);

Modules§

class_id
Plugin-Class-Id-Konstanten — Spec-1.2-Versioniert (siehe C3.3).
prop
Property-Namen — Spec-1.2 (Auswahl).

Structs§

BinaryProperty
Spec §7.2.6 Tab.6 — Wire-BinaryProperty_t (name + value als sequence<octet>).
DataHolder
Spec §7.2.7 Tab.7 — generische DataHolder_t Wire-Struktur. Alle Security-Tokens sind Type-Aliases von DataHolder mit fixem class_id-Wert.
WireProperty
Spec §7.2.6 Tab.5 — Wire-Property_t (name + value, beide CDR-Strings). Im Gegensatz zu crate::Property kein propagate- Feld; Token-Properties werden grundsaetzlich propagiert.

Type Aliases§

AuthRequestMessageToken
AuthRequestMessageToken (Spec §10.3.2 Tab.55).
CryptoToken
CryptoToken (Spec §10.5.2 Tab.72).
HandshakeMessageToken
HandshakeMessageToken — Request/Reply/Final (Spec §10.3.2 Tab.56-58).
IdentityStatusToken
IdentityStatusToken (Spec §7.4.1.6, §10.3.2 Tab.53). PID_IDENTITY_ STATUS_TOKEN (0x1006). Traeger fuer OCSP-Live-Status.
IdentityToken
IdentityToken (Spec §7.4.1.4 Tab.16; PKI-DH §10.3.2 Tab.51). Wird im SPDP-Announce als PID_IDENTITY_TOKEN (0x1001) verschickt.
PermissionsCredentialToken
PermissionsCredentialToken (Spec §10.4.2 Tab.64). Wird im Stateless-Topic-Handshake transportiert, nicht im SPDP.
PermissionsToken
PermissionsToken (Spec §7.4.1.5 Tab.17; PKI-Permissions §10.4.2 Tab.65). PID_PERMISSIONS_TOKEN (0x1002).