#[non_exhaustive]
pub enum Algorithm {
Dsa,
Ecdsa {
curve: EcdsaCurve,
},
Ed25519,
Rsa {
hash: Option<HashAlg>,
},
SkEcdsaSha2NistP256,
SkEd25519,
}Expand description
SSH key algorithms.
This type provides a registry of supported digital signature algorithms used for SSH keys.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Dsa
Digital Signature Algorithm
Ecdsa
Fields
curve: EcdsaCurveElliptic curve with which to instantiate ECDSA.
Elliptic Curve Digital Signature Algorithm
Ed25519
Ed25519
Rsa
Fields
RSA
SkEcdsaSha2NistP256
FIDO/U2F key with ECDSA/NIST-P256 + SHA-256
SkEd25519
FIDO/U2F key with Ed25519
Implementations
sourceimpl Algorithm
impl Algorithm
sourcepub fn new(id: &str) -> Result<Self>
pub fn new(id: &str) -> Result<Self>
Decode algorithm from the given string identifier.
Supported algorithms
ecdsa-sha2-nistp256ecdsa-sha2-nistp384ecdsa-sha2-nistp521ssh-dssssh-ed25519ssh-rsask-ecdsa-sha2-nistp256@openssh.com(FIDO/U2F key)sk-ssh-ed25519@openssh.com(FIDO/U2F key)
sourcepub fn new_certificate(id: &str) -> Result<Self>
pub fn new_certificate(id: &str) -> Result<Self>
Decode algorithm from the given string identifier as used by the OpenSSH certificate format.
OpenSSH certificate algorithms end in *-cert-v01@openssh.com.
See PROTOCOL.certkeys for more information.
Supported algorithms
ssh-rsa-cert-v01@openssh.comssh-dss-cert-v01@openssh.comecdsa-sha2-nistp256-cert-v01@openssh.comecdsa-sha2-nistp384-cert-v01@openssh.comecdsa-sha2-nistp521-cert-v01@openssh.comssh-ed25519-cert-v01@openssh.comsk-ecdsa-sha2-nistp256-cert-v01@openssh.com(FIDO/U2F key)sk-ssh-ed25519-cert-v01@openssh.com(FIDO/U2F key)
sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
Get the string identifier which corresponds to this algorithm.
sourcepub fn as_certificate_str(self) -> &'static str
pub fn as_certificate_str(self) -> &'static str
Get the string identifier which corresponds to the OpenSSH certificate format.
OpenSSH certificate algorithms end in *-cert-v01@openssh.com.
See PROTOCOL.certkeys for more information.
sourcepub fn is_ed25519(self) -> bool
pub fn is_ed25519(self) -> bool
Is the algorithm Ed25519?
Trait Implementations
sourceimpl Ord for Algorithm
impl Ord for Algorithm
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
sourceimpl PartialOrd<Algorithm> for Algorithm
impl PartialOrd<Algorithm> for Algorithm
sourcefn partial_cmp(&self, other: &Algorithm) -> Option<Ordering>
fn partial_cmp(&self, other: &Algorithm) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read more