sshkeys/
lib.rs

1#![deny(warnings)]
2#![deny(missing_docs)]
3#![deny(missing_debug_implementations)]
4
5//! The `sshkeys` crate provides types and methods for parsing
6//! OpenSSH public keys and certificates.
7//!
8//! The following public key types are supported.
9//!
10//! - RSA
11//! - DSA
12//! - ECDSA
13//! - ED25519
14//!
15//! The following OpenSSH certificate types are supported as well.
16//!
17//! - ssh-rsa-cert-v01@openssh.com
18//! - ssh-dss-cert-v01@openssh.com
19//! - ecdsa-sha2-nistp256-cert-v01@openssh.com
20//! - ecdsa-sha2-nistp384-cert-v01@openssh.com
21//! - ecdsa-sha2-nistp512-cert-v01@openssh.com
22//! - ssh-ed25519-cert-v01@openssh.com
23//!
24//! # Examples
25//!
26//! In order to view examples of this crate in use, please refer to the
27//! `examples` directory.
28
29extern crate base64;
30extern crate byteorder;
31extern crate sha2;
32
33mod cert;
34mod error;
35mod keytype;
36mod pubkey;
37mod reader;
38mod writer;
39
40// Serialization and deserialization support for sshkeys
41#[cfg(feature = "serde")]
42mod serde;
43
44pub use self::cert::{CertType, Certificate};
45pub use self::error::{Error, Result};
46pub use self::keytype::{KeyType, KeyTypeKind};
47pub use self::pubkey::{
48    Curve, CurveKind, DsaPublicKey, EcdsaPublicKey, Ed25519PublicKey, Fingerprint, FingerprintKind,
49    PublicKey, PublicKeyKind, RsaPublicKey,
50};
51pub use self::reader::Reader;
52pub use self::writer::Writer;