pub struct Rsne {
pub version: u16,
pub group_data_cipher_suite: Option<Cipher>,
pub pairwise_cipher_suites: Vec<Cipher>,
pub akm_suites: Vec<Akm>,
pub rsn_capabilities: Option<RsnCapabilities>,
pub pmkids: Vec<Bytes>,
pub group_mgmt_cipher_suite: Option<Cipher>,
}
Fields§
§version: u16
§group_data_cipher_suite: Option<Cipher>
§pairwise_cipher_suites: Vec<Cipher>
§akm_suites: Vec<Akm>
§rsn_capabilities: Option<RsnCapabilities>
§pmkids: Vec<Bytes>
§group_mgmt_cipher_suite: Option<Cipher>
Implementations§
Source§impl Rsne
impl Rsne
pub fn wpa2_rsne() -> Self
pub fn wpa2_rsne_with_caps(rsn_capabilities: RsnCapabilities) -> Self
pub fn wpa2_wpa3_rsne() -> Self
pub fn wpa2_wpa3_rsne_with_extra_caps(rsn_capabilities: RsnCapabilities) -> Self
pub fn wpa3_rsne() -> Self
pub fn wpa3_rsne_with_extra_caps(rsn_capabilities: RsnCapabilities) -> Self
Sourcepub fn derive_wpa2_s_rsne(
&self,
security_support: &SecuritySupport,
) -> Result<Self, Error>
pub fn derive_wpa2_s_rsne( &self, security_support: &SecuritySupport, ) -> Result<Self, Error>
Constructs Supplicant’s RSNE with: Group Data Cipher: same as A-RSNE (CCMP-128 or TKIP) Pairwise Cipher: best from A-RSNE (prefer CCMP-128 over TKIP) AKM: PSK
Sourcepub fn derive_wpa3_s_rsne(
&self,
security_support: &SecuritySupport,
) -> Result<Rsne, Error>
pub fn derive_wpa3_s_rsne( &self, security_support: &SecuritySupport, ) -> Result<Rsne, Error>
Constructs Supplicant’s RSNE with: Group Data Cipher: CCMP-128 Pairwise Cipher: CCMP-128 AKM: SAE
Sourcepub fn ensure_valid_s_rsne(&self) -> Result<(), Error>
pub fn ensure_valid_s_rsne(&self) -> Result<(), Error>
Validates this RSNE contains only one of each cipher type and only one AKM with a defined number of MIC bytes.
Sourcepub fn is_valid_subset_of(&self, a_rsne: &Rsne) -> Result<bool, Error>
pub fn is_valid_subset_of(&self, a_rsne: &Rsne) -> Result<bool, Error>
Verify that Supplicant RSNE is a subset of Authenticator RSNE
pub fn into_bytes(self) -> Vec<u8> ⓘ
pub fn write_into<A: Append>(&self, buf: &mut A) -> Result<(), BufferTooSmall>
Sourcepub fn is_wpa2_rsn_compatible(&self, security_support: &SecuritySupport) -> bool
pub fn is_wpa2_rsn_compatible(&self, security_support: &SecuritySupport) -> bool
Supported Ciphers and AKMs: Group Data Ciphers: CCMP-128, TKIP Pairwise Cipher: CCMP-128, TKIP AKM: PSK, SAE
Sourcepub fn is_wpa3_rsn_compatible(&self, security_support: &SecuritySupport) -> bool
pub fn is_wpa3_rsn_compatible(&self, security_support: &SecuritySupport) -> bool
Check if this is a supported WPA3-Personal or WPA3-Personal transition AP per the WFA WPA3 specification. Supported Ciphers and AKMs: Group Data Ciphers: CCMP-128, TKIP Pairwise Cipher: CCMP-128 AKM: SAE (also PSK in transition mode) The MFPR bit is required, except for transition mode.
Trait Implementations§
Source§impl PartialOrd for Rsne
impl PartialOrd for Rsne
impl StructuralPartialEq for Rsne
Auto Trait Implementations§
impl Freeze for Rsne
impl RefUnwindSafe for Rsne
impl Send for Rsne
impl Sync for Rsne
impl Unpin for Rsne
impl UnwindSafe for Rsne
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)