Struct sshkeys::Writer
[−]
[src]
pub struct Writer { /* fields omitted */ }A Writer is used for encoding a key in OpenSSH compatible format.
Methods
impl Writer[src]
fn new() -> Writer[src]
fn write_bytes(&mut self, val: &[u8])[src]
Writes a byte sequence to the underlying vector. The value is represented as a the byte sequence length, followed by the actual byte sequence.
Example
let mut writer = sshkeys::Writer::new(); writer.write_bytes(&[0, 0, 0, 42]); let bytes = writer.into_bytes(); assert_eq!(bytes, vec![0, 0, 0, 4, 0, 0, 0, 42]);
fn write_string(&mut self, val: &str)[src]
Writes a string value to the underlying byte sequence.
Example
let mut writer = sshkeys::Writer::new(); writer.write_string("a test string"); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 13, 97, 32, 116, 101, 115, 116, 32, 115, 116, 114, 105, 110, 103]);
fn write_mpint(&mut self, val: &[u8])[src]
Writes an mpint value to the underlying byte sequence.
If the MSB bit of the first byte is set then the number is
negative, otherwise it is positive.
Positive numbers must be preceeded by a leading zero byte according to RFC 4251, section 5.
Example
let mut writer = sshkeys::Writer::new(); writer.write_mpint(&[1, 0, 1]); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 3, 1, 0, 1]);
fn into_bytes(self) -> Vec<u8>[src]
Converts the Writer into a byte sequence.
This consumes the underlying byte sequence used by the Writer.
Example
let mut writer = sshkeys::Writer::new(); writer.write_string("some data"); let bytes = writer.into_bytes(); assert_eq!(bytes, [0, 0, 0, 9, 115, 111, 109, 101, 32, 100, 97, 116, 97]);