跳到主要内容

HeaderProtectionKey

搜索

特性 HeaderProtectionKey 

Source
pub trait HeaderProtectionKey: Send + Sync {
    // Required methods
    fn encrypt_in_place(
        &self,
        sample: &[u8],
        first: &mut u8,
        packet_number: &mut [u8],
    ) -> Result<(), Error>;
    fn decrypt_in_place(
        &self,
        sample: &[u8],
        first: &mut u8,
        packet_number: &mut [u8],
    ) -> Result<(), Error>;
    fn sample_len(&self) -> usize;
}
展开描述

QUIC 报文头保护密钥

必需方法§

Source

fn encrypt_in_place( &self, sample: &[u8], first: &mut u8, packet_number: &mut [u8], ) -> Result<(), Error>

Adds QUIC Header Protection.

sample must contain the sample of encrypted payload; see Header Protection Sample

first must reference the first byte of the header, referred 到 as packet[0] in Header Protection Application

packet_number must reference the Packet Number field; this is packet[pn_offset:pn_offset+pn_length] in Header Protection Application

Returns an error without modifying anything if sample is not the correct length (see Header Protection SampleSelf::sample_len()), 或 packet_number is longer than allowed (see Packet Number Encoding 并 Decoding)。

Otherwise, firstpacket_number will have the header protection added.

Source

fn decrypt_in_place( &self, sample: &[u8], first: &mut u8, packet_number: &mut [u8], ) -> Result<(), Error>

Removes QUIC Header Protection.

sample must contain the sample of encrypted payload; see Header Protection Sample

first must reference the first byte of the header, referred 到 as packet[0] in Header Protection Application

packet_number must reference the Packet Number field; this is packet[pn_offset:pn_offset+pn_length] in Header Protection Application

Returns an error without modifying anything if sample is not the correct length (see Header Protection SampleSelf::sample_len()), 或 packet_number is longer than allowed (see Packet Number Encoding 并 Decoding)。

Otherwise, firstpacket_number will have the header protection removed.

Source

fn sample_len(&self) -> usize

Expected sample length 用于 the key’s 算法

实现者§