struct KxGroup {
name: NamedGroup,
agreement_algorithm: &'static Algorithm,
fips_allowed: bool,
pub_key_validator: fn(_: &[u8]) -> bool,
}
Expand description
A key-exchange group supported by ring.
Fields§
§name: NamedGroup
The IANA “TLS Supported Groups” name of the group
agreement_algorithm: &'static Algorithm
The corresponding ring agreement::Algorithm
fips_allowed: bool
Whether the algorithm is allowed by FIPS
SupportedKxGroup::fips()
is true if and only if the algorithm is allowed,
and the implementation is FIPS-validated.
pub_key_validator: fn(_: &[u8]) -> bool
aws-lc-rs 1.9 and later accepts more formats of public keys than just uncompressed.
That is not compatible with TLS:
- TLS1.3 outlaws other encodings,
- TLS1.2 negotiates other encodings (we only offer uncompressed), and defaults to uncompressed if negotiation is not done.
This function should return true
if the basic shape of its argument
is consistent with an uncompressed point encoding. It does not need
to verify that the point is on the curve (if the curve requires that
for security); aws-lc-rs/ring must do that.
Trait Implementations§
Source§impl SupportedKxGroup for KxGroup
impl SupportedKxGroup for KxGroup
Source§fn ffdhe_group(&self) -> Option<FfdheGroup<'static>>
fn ffdhe_group(&self) -> Option<FfdheGroup<'static>>
FFDHE group the
SupportedKxGroup
operates in. Read moreSource§fn name(&self) -> NamedGroup
fn name(&self) -> NamedGroup
Named group the SupportedKxGroup operates in. Read more
Source§fn start_and_complete(
&self,
peer_pub_key: &[u8],
) -> Result<CompletedKeyExchange, Error>
fn start_and_complete( &self, peer_pub_key: &[u8], ) -> Result<CompletedKeyExchange, Error>
Start and complete a key exchange, in one operation. Read more
Source§fn usable_for_version(&self, _version: ProtocolVersion) -> bool
fn usable_for_version(&self, _version: ProtocolVersion) -> bool
Return
true
if this should be offered/selected with the given version. Read moreAuto Trait Implementations§
impl Freeze for KxGroup
impl RefUnwindSafe for KxGroup
impl Send for KxGroup
impl Sync for KxGroup
impl Unpin for KxGroup
impl UnwindSafe for KxGroup
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
Mutably borrows from an owned value. Read more