#[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
Elliptic Curve Digital Signature Algorithm
Fields
curve: EcdsaCurve
Elliptic curve with which to instantiate ECDSA.
Ed25519
Ed25519
Rsa
RSA
Fields
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-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
ssh-dss
ssh-ed25519
ssh-rsa
sk-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.com
ssh-dss-cert-v01@openssh.com
ecdsa-sha2-nistp256-cert-v01@openssh.com
ecdsa-sha2-nistp384-cert-v01@openssh.com
ecdsa-sha2-nistp521-cert-v01@openssh.com
ssh-ed25519-cert-v01@openssh.com
sk-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?