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§
- Binary
Property - Spec §7.2.6 Tab.6 — Wire-
BinaryProperty_t(name+valuealssequence<octet>). - Data
Holder - Spec §7.2.7 Tab.7 — generische
DataHolder_tWire-Struktur. Alle Security-Tokens sind Type-Aliases vonDataHoldermit fixemclass_id-Wert. - Wire
Property - Spec §7.2.6 Tab.5 — Wire-
Property_t(name+value, beide CDR-Strings). Im Gegensatz zucrate::Propertykeinpropagate- Feld; Token-Properties werden grundsaetzlich propagiert.
Type Aliases§
- Auth
Request Message Token - AuthRequestMessageToken (Spec §10.3.2 Tab.55).
- Crypto
Token - CryptoToken (Spec §10.5.2 Tab.72).
- Handshake
Message Token - HandshakeMessageToken — Request/Reply/Final (Spec §10.3.2 Tab.56-58).
- Identity
Status Token - IdentityStatusToken (Spec §7.4.1.6, §10.3.2 Tab.53).
PID_IDENTITY_ STATUS_TOKEN(0x1006). Traeger fuer OCSP-Live-Status. - Identity
Token - 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. - Permissions
Credential Token - PermissionsCredentialToken (Spec §10.4.2 Tab.64). Wird im Stateless-Topic-Handshake transportiert, nicht im SPDP.
- Permissions
Token - PermissionsToken (Spec §7.4.1.5 Tab.17; PKI-Permissions §10.4.2
Tab.65).
PID_PERMISSIONS_TOKEN(0x1002).