Struct sshkeys::Writer[][src]

pub struct Writer { /* fields omitted */ }

A Writer is used for encoding a key in OpenSSH compatible format.

Implementations

impl Writer[src]

pub fn new() -> Writer[src]

Creates a new Writer instance.

Example

let writer = sshkeys::Writer::new();

pub 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]);

pub 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]);

pub 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]);

pub 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]);

Trait Implementations

impl Debug for Writer[src]

Auto Trait Implementations

impl RefUnwindSafe for Writer

impl Send for Writer

impl Sync for Writer

impl Unpin for Writer

impl UnwindSafe for Writer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.