[][src]Module rustica_keys::ssh

This 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

The rustica-sshkey 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 (Not yet)
  • ecdsa-sha2-nistp512-cert-v01@openssh.com (Not yet)
  • ssh-ed25519-cert-v01@openssh.com (Not yet)

Modules

utils

Utility functions for dealing with SSH certificates, signatures or conversions

Structs

Certificate

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

Curve

A type which represents a cryptographic curve.

EcdsaPublicKey

ECDSA public key. The format of ECDSA public keys is described in RFC 5656, section 3.1.

Ed25519PublicKey

ED25519 public key. The format of ED25519 public keys is described in https://tools.ietf.org/html/draft-bjh21-ssh-ed25519-02

Error

The Error type represents the possible errors that may occur when working with OpenSSH keys.

Fingerprint

A type that represents an OpenSSH public key fingerprint.

KeyType

KeyType represents the type of an OpenSSH key.

PublicKey

A type which represents an OpenSSH public key.

Reader

A Reader is used for reading from a byte sequence representing an encoded OpenSSH public key or certificate.

RsaPublicKey

RSA public key. The format of RSA public keys is described in RFC 4253, section 6.6

Writer

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

Enums

CertType

Represents the different types a certificate can be.

CurveKind

Represents the different kinds of supported curves.

FingerprintKind

The FingerprintKind enum represents the different fingerprint representation.

KeyTypeKind

A type which represents the various kinds of keys.

PublicKeyKind

A type which represents the different kinds a public key can be.

Type Definitions

Result

A Result type alias where the Err variant is Error