1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
//! //! The `rustica-keys` crate provides types and methods for parsing //! OpenSSH public keys, and parsing then verifying SSH certificates. //! //! The following public key types are supported. //! //! - RSA //! - ECDSA //! - ED25519 //! //! The following OpenSSH certificate types are supported as well. //! //! - ssh-rsa-cert-v01@openssh.com //! - ecdsa-sha2-nistp256-cert-v01@openssh.com //! - ecdsa-sha2-nistp384-cert-v01@openssh.com //! - ecdsa-sha2-nistp512-cert-v01@openssh.com (Not yet) //! - ssh-ed25519-cert-v01@openssh.com //! //! The crate also provides functionality for provision key slots on //! Yubikeys to handle signing operations. This is provided in the //! optional `yubikey` submodule //! #![deny(warnings)] #![deny(missing_docs)] #![deny(missing_debug_implementations)] #[cfg(feature = "yubikey")] #[macro_use] extern crate log; /// Functions or structs for dealing with SSH Certificates. /// Parsing, and creating certs happens here. pub mod ssh; /// Utility functions for dealing with SSH certificates, signatures /// or conversions pub mod utils; /// Functions for dealing with Yubikey signing. /// Also contains an SSH submodule containing helper functions to generate /// SSH encoded versions of it's normal functions. #[cfg(feature = "yubikey")] pub mod yubikey; pub use ssh::{Certificate, PublicKey, PrivateKey};