Expand description
Functions or structs for dealing with SSH Certificates.
Parsing, and creating certs happens here.
This module is a heavily modified version of the sshkeys crate
that adds certificate verification, and many other things to
support that. The original licence for the code is in the source
code provided
Structs
A type which represents an OpenSSH certificate key. Please refer to [PROTOCOL.certkeys] for more details about OpenSSH certificates. [PROTOCOL.certkeys]: https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/PROTOCOL.certkeys?annotate=HEAD
A type which represents a cryptographic curve.
ECDSA private key.
ECDSA public key. The format of ECDSA public keys is described in RFC 5656, section 3.1.
ED25519 private key.
ED25519 public key. The format of ED25519 public keys is described in https://tools.ietf.org/html/draft-bjh21-ssh-ed25519-02
A type that represents an OpenSSH public key fingerprint.
KeyType represents the type of an OpenSSH key.
A type which represents an OpenSSH public key.
A type which represents an OpenSSH public key.
A Reader is used for reading from a byte sequence
representing an encoded OpenSSH public/private key or certificate.
RSA private key.
RSA public key. The format of RSA public keys is described in RFC 4253, section 6.6
A Writer is used for encoding a key in OpenSSH compatible format.
Enums
Represents the different types a certificate can be.
Type that encapsulates the normal usage of the critical options field. I used a structure instead of an Option for consistency and possible future expansion into a ForceCommand type.
Represents the different kinds of supported curves.
Type that encapsulates the normal usage of the extensions field.
The FingerprintKind enum represents the different fingerprint representation.
A type which represents the various kinds of keys.
A type which represents the different kinds a public key can be.
A type which represents the different kinds a public key can be.
Functions
Take in a private key and return a function that can be passed to Certificate::new for generating newly signed certificates. Generally this function is not needed as the impl on PrivateKey for Into can be more easily used.
Take a buffer and generate an SSH certificate style signature for it from a PrivateKey type
Type Definitions
This is a type that can be used for certificate signing when passed to Certificate::sign