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§
Source§impl Signature
impl Signature
Sourcepub fn new(
algorithm: Algorithm,
data: impl Into<Vec<u8>>,
) -> Result<Signature, Error>
pub fn new( algorithm: Algorithm, data: impl Into<Vec<u8>>, ) -> Result<Signature, Error>
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§
Source§impl Encode for Signature
impl Encode for Signature
Source§fn encoded_len(&self) -> Result<usize, Error>
fn encoded_len(&self) -> Result<usize, Error>
Source§fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>
fn encode(&self, writer: &mut impl Writer) -> Result<(), Error>
Writer
.Source§fn encoded_len_prefixed(&self) -> Result<usize, Error>
fn encoded_len_prefixed(&self) -> Result<usize, Error>
uint32
length prefix.Source§fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>
fn encode_prefixed(&self, writer: &mut impl Writer) -> Result<(), Error>
uint32
length prefix
set to Encode::encoded_len
.