[dependencies.bcrypt-pbkdf]
default-features = false
features = ["alloc"]
optional = true
version = "0.10"
[dependencies.bigint]
default-features = false
optional = true
package = "num-bigint-dig"
version = "0.8"
[dependencies.cipher]
package = "ssh-cipher"
version = "0.2"
[dependencies.dsa]
default-features = false
optional = true
version = "0.6"
[dependencies.ed25519-dalek]
default-features = false
optional = true
version = "2"
[dependencies.encoding]
features = ["base64", "pem", "sha2"]
package = "ssh-encoding"
version = "0.2"
[dependencies.p256]
default-features = false
features = ["ecdsa"]
optional = true
version = "0.13"
[dependencies.p384]
default-features = false
features = ["ecdsa"]
optional = true
version = "0.13"
[dependencies.p521]
default-features = false
features = ["ecdsa", "getrandom"]
optional = true
version = "0.13.3"
[dependencies.rand_core]
default-features = false
optional = true
version = "0.6.4"
[dependencies.rsa]
default-features = false
features = ["sha2"]
optional = true
version = "0.9"
[dependencies.sec1]
default-features = false
features = ["point"]
optional = true
version = "0.7.3"
[dependencies.serde]
optional = true
version = "1"
[dependencies.sha1]
default-features = false
optional = true
version = "0.10"
[dependencies.sha2]
default-features = false
version = "0.10.8"
[dependencies.signature]
default-features = false
version = "2"
[dependencies.subtle]
default-features = false
version = "2"
[dependencies.zeroize]
default-features = false
version = "1"
[dev-dependencies.hex-literal]
version = "0.4.1"
[dev-dependencies.rand_chacha]
version = "0.3"
[features]
alloc = ["encoding/alloc", "signature/alloc", "zeroize/alloc"]
crypto = ["ed25519", "p256", "p384", "p521", "rsa"]
default = ["ecdsa", "rand_core", "std"]
dsa = ["dep:bigint", "dep:dsa", "dep:sha1", "alloc", "signature/rand_core"]
ecdsa = ["dep:sec1"]
ed25519 = ["dep:ed25519-dalek", "rand_core"]
encryption = ["dep:bcrypt-pbkdf", "alloc", "cipher/aes-cbc", "cipher/aes-ctr", "cipher/aes-gcm", "cipher/chacha20poly1305", "rand_core"]
getrandom = ["rand_core/getrandom"]
p256 = ["dep:p256", "ecdsa"]
p384 = ["dep:p384", "ecdsa"]
p521 = ["dep:p521", "ecdsa"]
rsa = ["dep:bigint", "dep:rsa", "alloc", "rand_core"]
std = ["alloc", "encoding/std", "p256?/std", "p384?/std", "p521?/std", "rsa?/std", "sec1?/std", "signature/std"]
tdes = ["cipher/tdes", "encryption"]
[lib]
name = "ssh_key"
path = "src/lib.rs"
[package]
authors = ["RustCrypto Developers"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["authentication", "cryptography", "encoding", "no-std", "parser-implementations"]
description = '''
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.
'''
edition = "2021"
keywords = ["crypto", "certificate", "openssh", "ssh", "sshsig"]
license = "Apache-2.0 OR MIT"
name = "ssh-key"
readme = "README.md"
repository = "https://github.com/RustCrypto/SSH/tree/master/ssh-key"
rust-version = "1.65"
version = "0.6.7"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[test]]
name = "algorithm_name"
path = "tests/algorithm_name.rs"
[[test]]
name = "authorized_keys"
path = "tests/authorized_keys.rs"
[[test]]
name = "certificate"
path = "tests/certificate.rs"
[[test]]
name = "certificate_builder"
path = "tests/certificate_builder.rs"
[[test]]
name = "encrypted_private_key"
path = "tests/encrypted_private_key.rs"
[[test]]
name = "known_hosts"
path = "tests/known_hosts.rs"
[[test]]
name = "private_key"
path = "tests/private_key.rs"
[[test]]
name = "public_key"
path = "tests/public_key.rs"
[[test]]
name = "sshsig"
path = "tests/sshsig.rs"