#[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§
source§impl 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§
source§impl Ord for Algorithm
impl Ord for Algorithm
source§impl PartialEq<Algorithm> for Algorithm
impl PartialEq<Algorithm> for Algorithm
source§impl PartialOrd<Algorithm> for Algorithm
impl PartialOrd<Algorithm> for Algorithm
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moreimpl Copy for Algorithm
impl Eq for Algorithm
impl StructuralEq for Algorithm
impl StructuralPartialEq for Algorithm
Auto Trait Implementations§
impl RefUnwindSafe for Algorithm
impl Send for Algorithm
impl Sync for Algorithm
impl Unpin for Algorithm
impl UnwindSafe for Algorithm
Blanket Implementations§
source§impl<T> Encode for Twhere
T: Label,
impl<T> Encode for Twhere
T: Label,
source§fn encoded_len(&self) -> Result<usize, <T as Label>::Error>
fn encoded_len(&self) -> Result<usize, <T as Label>::Error>
source§fn encode(&self, writer: &mut impl Writer) -> Result<(), <T as Label>::Error>
fn encode(&self, writer: &mut impl Writer) -> Result<(), <T as Label>::Error>
Writer.source§fn encoded_len_prefixed(&self) -> Result<usize, Self::Error>
fn encoded_len_prefixed(&self) -> Result<usize, Self::Error>
uint32 length prefix.source§fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Self::Error>
fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Self::Error>
uint32 length prefix
set to Encode::encoded_len.