Cargo Features

[dependencies]
ssh-key = { version = "0.7.0-rc.3", default-features = false, features = ["std", "alloc", "crypto", "dsa", "ecdsa", "ed25519", "encryption", "getrandom", "p256", "p384", "p521", "ppk", "rsa", "sha1", "tdes", "serde"] }
default = ecdsa, rand_core, std

These default features are set whenever ssh-key is added without default-features = false somewhere in the dependency tree.

std default = alloc

Enables home

alloc dsa? encryption? ppk? rsa? std

Enables alloc of ssh-encoding, signature, and zeroize

Affects authorized_keys::ConfigOpts, ssh-key::certificate, ssh-key::known_hosts, sk::SkEd25519, sk::SkEcdsaSha2NistP256

crypto = ed25519, p256, p384, p521, rsa

NOTE: dsa is obsolete/weak

dsa = alloc

Enables dsa, sha1, bigint of ssh-encoding, rand_core of signature

ecdsa default p256? p384? p521?

Enables sec1

Affects sk::SkEcdsaSha2NistP256, sk::SkEcdsaSha2NistP256

ed25519 crypto? = rand_core

Enables ed25519-dalek

encryption tdes? = alloc, rand_core

Enables bcrypt-pbkdf, aes-cbc, aes-ctr, aes-gcm and chacha20poly1305 of ssh-cipher

getrandom

TODO(tarcieri): rename feature

Enables os_rng of rand_core

p256 crypto? = ecdsa

Enables p256

p384 crypto? = ecdsa

Enables p384

p521 crypto? = ecdsa

Enables p521

ppk = alloc

Enables hex, hmac, and sha1, aes-cbc of ssh-cipher and argon2

optional dependencies

rsa crypto? = alloc, rand_core

Enables rsa, bigint of ssh-encoding

sha1

Enables sha1

tdes = encryption

Enables tdes of ssh-cipher

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

rand_core default ed25519? encryption? getrandom? rsa?
serde implicit feature

Enables serde

serde:

A generic serialization/deserialization framework