pub enum DpopAlgorithm {
ES256,
}Expand description
DPoP cryptographic algorithm as defined in RFC 9449
This implementation uses only ES256 (ECDSA P-256) for maximum security. RSA algorithms (RS256, PS256) have been removed due to timing attack vulnerabilities in the rsa crate (RUSTSEC-2023-0071).
ES256 is the recommended algorithm in RFC 9449 and provides:
- Superior security against timing attacks
- Faster performance than RSA
- Smaller key and signature sizes
Variants§
ES256
Elliptic Curve Digital Signature Algorithm with P-256 curve and SHA-256 (RFC 7518) This is the only supported algorithm for DPoP in TurboMCP v3.0+
Implementations§
Source§impl DpopAlgorithm
impl DpopAlgorithm
Sourcepub fn recommended_key_size(self) -> u32
pub fn recommended_key_size(self) -> u32
Get recommended key size for the algorithm
Sourcepub fn is_production_ready(self) -> bool
pub fn is_production_ready(self) -> bool
Check if algorithm is suitable for production use
Trait Implementations§
Source§impl Clone for DpopAlgorithm
impl Clone for DpopAlgorithm
Source§fn clone(&self) -> DpopAlgorithm
fn clone(&self) -> DpopAlgorithm
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DpopAlgorithm
Source§impl Debug for DpopAlgorithm
impl Debug for DpopAlgorithm
Source§impl<'de> Deserialize<'de> for DpopAlgorithm
impl<'de> Deserialize<'de> for DpopAlgorithm
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for DpopAlgorithm
impl Display for DpopAlgorithm
impl Eq for DpopAlgorithm
Source§impl Hash for DpopAlgorithm
impl Hash for DpopAlgorithm
Source§impl PartialEq for DpopAlgorithm
impl PartialEq for DpopAlgorithm
Source§impl Serialize for DpopAlgorithm
impl Serialize for DpopAlgorithm
impl StructuralPartialEq for DpopAlgorithm
Auto Trait Implementations§
impl Freeze for DpopAlgorithm
impl RefUnwindSafe for DpopAlgorithm
impl Send for DpopAlgorithm
impl Sync for DpopAlgorithm
impl Unpin for DpopAlgorithm
impl UnsafeUnpin for DpopAlgorithm
impl UnwindSafe for DpopAlgorithm
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.