Skip to main content

encode_secured_submessage_multi

Function encode_secured_submessage_multi 

Source
pub fn encode_secured_submessage_multi(
    plugin: &dyn CryptographicPlugin,
    local: CryptoHandle,
    receivers: &[(CryptoHandle, u32)],
    plaintext: &[u8],
) -> Result<Vec<u8>, SecurityRtpsError>
Expand description

Encoded ein plain-Submessage-Blob als secured Sequenz MIT Receiver-Specific-MACs im SEC_POSTFIX(Spec §7.3.6.3).

Der Crypto-Plugin liefert einen gemeinsamen Ciphertext plus eine Liste von (key_id, mac)-Eintraegen, einer pro Reader.

§Wire-Layout SEC_POSTFIX (body)

  u32  count
  [ u32 key_id ; u8 mac[16] ] * count     // 20 byte pro Eintrag

§Errors

  • Crypto durchgereicht vom Plugin.
  • Truncated wenn die MAC-Liste > MAX_RECEIVER_MACS ist oder der Ciphertext > u32::MAX / SEC_POSTFIX-body > u16::MAX.