PackageTrack
Sign in Get early access

ssh-key

Pure Rust implementation of SSH key file format decoders/encoders as described in RFC4251/RFC4253 and OpenSSH key formats, as well as "sshsig" signatures and certificates (including certificate validation and certificate authority support), with further support for the `authorized_keys` and `known_hosts` file formats.

0.6.7 9.8M downloads/mo #3147 most downloaded on crates.io RustCrypto/SSH

What this package is like to depend on

Last release 1 months ago

29 Jun 2026

Release timing varies

gaps range from 9 days to 8 months

Nearly every release is documented

notes for 17 of 17 stable releases

1 version withdrawn

withdrawn after publishing

5 years old

38 releases · first in 2021

10 releases in the last 12 months

see the full history below

Release timeline

38 releases · Nov 2021 to Jun 2026
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 38
  1. 0.7.0-rc.11 29 Jun 2026 pre-release
    Release notes

    ssh-key v0.7.0-rc.11 (#563)

    Open source →
  2. 0.7.0-rc.10 12 May 2026 pre-release
    Release notes

    ssh-protocol: enable workspace-level lints (#524)

    Open source →
  3. 0.7.0-rc.9 10 Mar 2026 pre-release
    Release notes

    Releases the following:

    • ssh-cipher v0.3.0-rc.8
    • ssh-encoding v0.3.0-rc.8
    • ssh-key v0.7.0-rc.9
    Open source →
  4. 0.7.0-rc.8 04 Feb 2026 pre-release

    Nothing published for this version

  5. 0.7.0-rc.7 25 Jan 2026 pre-release

    Nothing published for this version

  6. 0.7.0-rc.6 14 Jan 2026 pre-release

    Nothing published for this version

  7. 0.7.0-rc.5 12 Jan 2026 pre-release

    Nothing published for this version

  8. 0.7.0-rc.4 25 Nov 2025 pre-release

    Nothing published for this version

  9. 0.7.0-rc.3 14 Sep 2025 pre-release

    Nothing published for this version

  10. 0.7.0-rc.2 03 Sep 2025 pre-release

    Nothing published for this version

  11. 0.7.0-rc.1 10 Jul 2025 pre-release

    Nothing published for this version

  12. 0.7.0-rc.0 01 Jun 2025 pre-release

    Nothing published for this version

  13. 0.7.0-pre.1 13 Aug 2024 pre-release

    Nothing published for this version

  14. 0.7.0-pre.0 28 Jul 2024 pre-release

    Nothing published for this version

  15. 0.6.7 15 Oct 2024
    Release notes

    Fixed

    • Parsing AuthorizedKeys with whitespace in comments (#289)
    • mpint decoding in ECDSA signatures (#290, #291)
    Open source →
  16. 0.6.6 12 Apr 2024
    Release notes

    Added

    • impl decode_as for KeypairData (#211)

    Changed

    • clarify SSH vs OpenSSH formats (#206)

    Fixed

    • fix certificate::OptionsMap encoding (#207)
    • fixup EcdsaPrivateKey Debug impl (#210)
    Open source →
  17. 0.6.5 12 Mar 2024
    Release notes

    Added

    Changed

    • Simplify DSA signature encoding (#193)

    Fixed

    • Correct erroneous signature constants (#202)
    Open source →
  18. 0.6.4 12 Jan 2024
    Release notes

    Added

    • Algorithm::Other signature support (#189)

    Fixed

    • Add newline to PublicKey::write_openssh_file output (#188)
    • DsaKeypair::try_sign format error (#191)
    Open source →
  19. 0.6.3 21 Nov 2023
    Release notes

    Added

    • SkEcdsaSha2NistP256 signature validation (#169)
    • p521 feature (#180)

    Changed

    • Maximum certificate timestamp time is now i64::MAX (#175)

    Fixed

    • Handle leading zeroes in Mpint::from_positive_bytes (#171)
    Open source →
  20. 0.6.2 15 Oct 2023
    Release notes

    Added

    Open source →
  21. 0.6.1 15 Aug 2023
    Release notes

    Fixed

    • minimal-versions correctness for sec1 dependency (#154)
    Open source →
  22. 0.6.0 13 Aug 2023
    Release notes

    Added

    • Partial support for U2F signature verification (#44)
    • Support for [email protected] encryption (#75)
    • "randomart" public key fingerprint visualizations (#77)
    • PrivateKey::encrypt_with_cipher (#79)
    • Propagate ssh_key::Error through signature::Error (#82)
    • crypto feature (#83)
    • Support for AES-CBC, ChaCha20Poly1305, and TDES encryption (#118)
    • Basic support for nonstandard SSH key algorithms (#136)
    • Impl Hash for PublicKey and its parts (#145, #149)

    Changed

    • Bump signature crate dependency to v2 (#58)
    • Use ssh_key::Error as error type for TryFrom<&[u8]> impl on Signature (#59)
    • Bump elliptic curve and password hash deps; MSRV 1.65 (#66)
      • bcrypt-pbkdf v0.10
      • dsa v0.6
      • p256 v0.13
      • p384 v0.13
      • sec1 v0.7
    • Use &mut impl CryptoRngCore for RNGs (#67)
    • Make certificate::Builder::new fallible (#71)
    • Rename MPInt => Mpint (#76)
    • Split AlgorithmUnknown and AlgorithmUnsupported (#81)
    • Bump rsa dependency to v0.9 (#107)
    • Extract symmetric encryption into ssh-cipher crate (#125)
    • Bump ed25519-dalek dependency to v2 (#146)
    • Bump ssh-encoding dependency to v0.2 (#147)

    Fixed

    • DSA signature encoding (#115)
    • certificate::Builder::new_with_validity_times (#143)
    Open source →
  23. 0.6.0-rc.2 25 Jun 2023 pre-release

    Nothing published for this version

  24. 0.6.0-rc.1 21 Jun 2023 pre-release

    Nothing published for this version

  25. 0.6.0-rc.0 30 Mar 2023 pre-release

    Nothing published for this version

  26. 0.6.0-pre.0 06 Feb 2023 pre-release

    Nothing published for this version

  27. 0.5.1 25 Oct 2022
    Release notes

    Changed

    • README.md improvements (#41)
    Open source →
  28. 0.5.0 25 Oct 2022
    Release notes

    Added

    Changed

    • Bump p256 to v0.11 (#10)
    • Bump MSRV to 1.60 (#16)
    • Bump rsa to v0.7 (#20)
    • Use ssh-encoding encoding crate (#29, #37)

    Removed

    • fingerprint feature removed, now always-on (#27)
    Open source →
  29. 0.5.0-rc.0 24 Oct 2022 pre-release

    Nothing published for this version

  30. 0.5.0-pre.0 26 Sep 2022 pre-release

    Nothing published for this version

  31. 0.4.3 25 Sep 2022
    Release notes

    Changed

    Open source →
  32. 0.4.2 02 May 2022
    Release notes

    Added

    • Support for parsing keys out of the ssh known_hosts file format
    • Export RsaPrivateKey
    • From conversions between algorithmic-specific key types and PublicKey/PrivateKey
    Open source →
  33. 0.4.1 26 Apr 2022
    Release notes

    Added

    • Internal UnixTime helper type

    Changed

    • Bump pem-rfc7468 dependency to v0.6.0
    • Further restrict maximum allowed timestamps
    Open source →
  34. 0.4.0 12 Apr 2022
    Release notes

    Added

    • Private key decryption support
    • Private key encryption support
    • Ed25519 keygen/sign/verify support using ed25519-dalek
    • Private key encryption
    • Certificate decoder
    • Certificate encoder
    • Certificate validation support
    • FIDO/U2F (sk-*) certificate and key support
    • certificate::Builder (i.e. SSH CA support)
    • ECDSA/NIST P-256 keygen/sign/verify support using p256 crate
    • RSA keygen/sign/verify support using rsa crate
    • SHA-512 fingerprint support
    • serde support

    Changed

    • Consolidate KdfAlg and KdfOpts into Kdf
    • Rename CipherAlg => Cipher

    Removed

    • PrivateKey::kdf_alg
    Open source →
  35. 0.3.0 16 Mar 2022
    Release notes

    Added

    • FromStr impls for key types
    • PublicKey encoder
    • AuthorizedKeys parser
    • PrivateKey::public_key and From conversions
    • PrivateKey encoder
    • Validate private key padding bytes
    • File I/O methods for PrivateKey and PublicKey
    • SHA-256 fingerprint support

    Changed

    • Use pem-rfc7468 for private key PEM parser
    • Make PublicKey/PrivateKey fields private
    Open source →
  36. 0.2.0 29 Dec 2021
    Release notes

    Added

    • OpenSSH private key decoder
    • MPInt::as_positive_bytes

    Changed

    • MPInt validates the correct number of leading zeroes are used
    Open source →
  37. 0.1.0 03 Dec 2021
    Release notes
    • Initial release
    Open source →
  38. 0.0.0 18 Nov 2021 withdrawn

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive