pub struct Signature { /* private fields */ }
alloc
only.Expand description
Low-level digital signature (e.g. DSA, ECDSA, Ed25519).
These are low-level signatures used as part of the OpenSSH certificate
format to represent signatures by certificate authorities (CAs), as well
as the higher-level SshSig
format, which provides
general-purpose signing functionality using SSH keys.
From OpenSSH’s PROTOCOL.certkeys specification:
Signatures are computed and encoded according to the rules defined for the CA’s public key algorithm (RFC4253 section 6.6 for ssh-rsa and ssh-dss, RFC5656 for the ECDSA types, and RFC8032 for Ed25519).
RSA signature support is implemented using the SHA2 family extensions as described in RFC8332.
Implementations
sourceimpl Signature
impl Signature
sourcepub fn new(algorithm: Algorithm, data: impl Into<Vec<u8>>) -> Result<Self>
pub fn new(algorithm: Algorithm, data: impl Into<Vec<u8>>) -> Result<Self>
Create a new signature with the given algorithm and raw signature data.
See specifications in toplevel Signature
documentation for how to
format the raw signature data for a given algorithm.
Returns
Error::Encoding
if the signature is not the correct length.
Trait Implementations
sourceimpl Encode for Signature
impl Encode for Signature
sourcefn encoded_len(&self) -> Result<usize>
fn encoded_len(&self) -> Result<usize>
sourcefn encode(&self, writer: &mut impl Writer) -> Result<()>
fn encode(&self, writer: &mut impl Writer) -> Result<()>
Writer
.sourcefn encoded_len_prefixed(&self) -> Result<usize, Self::Error>
fn encoded_len_prefixed(&self) -> Result<usize, Self::Error>
uint32
length prefix. Read moresourceimpl Ord for Signature
impl Ord for Signature
1.21.0 · sourceconst fn max(self, other: Self) -> Selfwhere
Self: Sized,
const fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourceconst fn min(self, other: Self) -> Selfwhere
Self: Sized,
const fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourceconst fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
const fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialOrd<Signature> for Signature
impl PartialOrd<Signature> for Signature
sourcefn partial_cmp(&self, other: &Signature) -> Option<Ordering>
fn partial_cmp(&self, other: &Signature) -> Option<Ordering>
1.0.0 · sourceconst fn le(&self, other: &Rhs) -> bool
const fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl Signer<Signature> for DsaKeypair
Available on crate feature dsa
only.
impl Signer<Signature> for DsaKeypair
dsa
only.sourceimpl Signer<Signature> for EcdsaKeypair
Available on crate features p256
or p384
only.
impl Signer<Signature> for EcdsaKeypair
p256
or p384
only.sourceimpl Signer<Signature> for EcdsaPrivateKey<32>
Available on crate feature p256
only.
impl Signer<Signature> for EcdsaPrivateKey<32>
p256
only.sourceimpl Signer<Signature> for EcdsaPrivateKey<48>
Available on crate feature p384
only.
impl Signer<Signature> for EcdsaPrivateKey<48>
p384
only.sourceimpl Signer<Signature> for Ed25519Keypair
Available on crate feature ed25519
only.
impl Signer<Signature> for Ed25519Keypair
ed25519
only.sourceimpl Signer<Signature> for KeypairData
impl Signer<Signature> for KeypairData
sourceimpl Signer<Signature> for PrivateKey
impl Signer<Signature> for PrivateKey
sourceimpl Signer<Signature> for RsaKeypair
Available on crate feature rsa
only.
impl Signer<Signature> for RsaKeypair
rsa
only.sourceimpl Verifier<Signature> for DsaPublicKey
Available on crate feature dsa
only.
impl Verifier<Signature> for DsaPublicKey
dsa
only.sourceimpl Verifier<Signature> for EcdsaPublicKey
Available on crate features p256
or p384
only.
impl Verifier<Signature> for EcdsaPublicKey
p256
or p384
only.sourceimpl Verifier<Signature> for Ed25519PublicKey
Available on crate feature ed25519
only.
impl Verifier<Signature> for Ed25519PublicKey
ed25519
only.sourceimpl Verifier<Signature> for RsaPublicKey
Available on crate feature rsa
only.
impl Verifier<Signature> for RsaPublicKey
rsa
only.