sshcerts 0.15.1

A library for parsing, verifying, and creating SSH Certificates
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "sshcerts"
version = "0.15.1"
authors = ["Mitchell Grenier <mitchell@confurious.io>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A library for parsing, verifying, and creating SSH Certificates"
homepage = "https://github.com/obelisk/sshcerts"
readme = "README.md"
keywords = [
    "ssh",
    "yubikey",
    "certs",
    "certificates",
]
categories = ["authentication"]
license-file = "LICENSE"
repository = "https://github.com/obelisk/sshcerts"

[features]
all = [
    "encrypted-keys",
    "rsa-signing",
    "x509-support",
    "yubikey-support",
    "fido-support-mozilla",
]
all-but-fido = [
    "encrypted-keys",
    "rsa-signing",
    "x509-support",
    "yubikey-support",
]
default = ["all"]
encrypted-keys = [
    "aes",
    "bcrypt-pbkdf",
    "ctr",
]
experimental = [
    "encrypted-keys",
    "rsa-signing",
    "x509-support",
    "yubikey-support",
    "fido-support-mozilla",
]
fido-lite = [
    "minicbor",
    "x509-parser",
]
fido-support = [
    "ctap-hid-fido2",
    "fido-lite",
]
fido-support-mozilla = [
    "authenticator",
    "fido-lite",
]
rsa-signing = [
    "simple_asn1",
    "num-bigint",
]
wasm_experimental = ["ring/wasm32_unknown_unknown_js"]
x509-support = [
    "der-parser",
    "x509",
    "x509-parser",
]
yubikey-lite = [
    "x509-support",
    "der",
    "x509-cert",
]
yubikey-support = [
    "rcgen",
    "signature",
    "yubikey",
    "yubikey-lite",
]

[lib]
name = "sshcerts"
path = "src/lib.rs"

[[example]]
name = "into-ssh-pubkey"
path = "examples/into-ssh-pubkey.rs"
required-features = ["x509-support"]

[[example]]
name = "new-fido-sshkey"
path = "examples/new-fido-sshkey.rs"
required-features = ["fido-support-mozilla"]

[[example]]
name = "sign-cert-with-file"
path = "examples/sign-cert-with-file.rs"

[[example]]
name = "sign-cert-with-yubikey"
path = "examples/sign-cert-with-yubikey.rs"
required-features = ["yubikey-support"]

[[example]]
name = "sign-file-with-file"
path = "examples/sign-file-with-file.rs"

[[example]]
name = "ssh-cert-info"
path = "examples/ssh-cert-info.rs"

[[example]]
name = "ssh-pkey-info"
path = "examples/ssh-pkey-info.rs"
required-features = ["encrypted-keys"]

[[example]]
name = "ssh-pubkey-from-cert"
path = "examples/ssh-pubkey-from-cert.rs"

[[example]]
name = "ssh-pubkey-info"
path = "examples/ssh-pubkey-info.rs"

[[example]]
name = "yk-fingerprint"
path = "examples/yk-fingerprint.rs"
required-features = ["yubikey-support"]

[[example]]
name = "yk-generate-csr"
path = "examples/yk-generate-csr.rs"
required-features = ["yubikey-support"]

[[example]]
name = "yk-provision"
path = "examples/yk-provision.rs"
required-features = ["yubikey-support"]

[[test]]
name = "allowed-signer"
path = "tests/allowed-signer.rs"

[[test]]
name = "allowed-signers"
path = "tests/allowed-signers.rs"

[[test]]
name = "cert-conformance"
path = "tests/cert-conformance.rs"

[[test]]
name = "cert-creation"
path = "tests/cert-creation.rs"

[[test]]
name = "cert-creation-parse"
path = "tests/cert-creation-parse.rs"

[[test]]
name = "cert-creation-parse-rsa"
path = "tests/cert-creation-parse-rsa.rs"
required-features = [
    "encrypted-keys",
    "rsa-signing",
]

[[test]]
name = "cert-ecdsa"
path = "tests/cert-ecdsa.rs"

[[test]]
name = "cert-ed25519"
path = "tests/cert-ed25519.rs"

[[test]]
name = "cert-offensive"
path = "tests/cert-offensive.rs"

[[test]]
name = "cert-options"
path = "tests/cert-options.rs"

[[test]]
name = "cert-rsa"
path = "tests/cert-rsa.rs"

[[test]]
name = "cert-sk-ecdsa"
path = "tests/cert-sk-ecdsa.rs"

[[test]]
name = "cert-sk-ed25519"
path = "tests/cert-sk-ed25519.rs"

[[test]]
name = "fido-lite"
path = "tests/fido-lite.rs"
required-features = ["fido-support-mozilla"]

[[test]]
name = "privkey"
path = "tests/privkey.rs"

[[test]]
name = "privkey-encrypted"
path = "tests/privkey_encrypted.rs"
required-features = ["encrypted-keys"]

[[test]]
name = "pubkey"
path = "tests/pubkey.rs"

[[test]]
name = "reader"
path = "tests/reader.rs"

[[test]]
name = "signature"
path = "tests/signature.rs"

[[test]]
name = "signature-bad"
path = "tests/signature-bad.rs"

[[test]]
name = "signature-creation"
path = "tests/signature-creation.rs"

[[test]]
name = "signature-creation-rsa"
path = "tests/signature-creation-rsa.rs"
required-features = ["rsa-signing"]

[[test]]
name = "sk-privkey"
path = "tests/sk-privkey.rs"

[[test]]
name = "sk-pubkey"
path = "tests/sk-pubkey.rs"

[[test]]
name = "writer"
path = "tests/writer.rs"

[[test]]
name = "yubikey-lite"
path = "tests/yubikey-lite.rs"
required-features = ["yubikey-lite"]

[[bench]]
name = "certs_per_second"
path = "benches/certs_per_second.rs"
harness = false
required-features = ["yubikey-support"]

[dependencies.aes]
version = "0.7"
features = ["ctr"]
optional = true

[dependencies.authenticator]
version = "0.4.1"
features = ["crypto_openssl"]
optional = true
default-features = false

[dependencies.base64]
version = "0.13"

[dependencies.bcrypt-pbkdf]
version = "0.10"
optional = true

[dependencies.chrono]
version = "0.4"

[dependencies.ctap-hid-fido2]
version = "3"
optional = true

[dependencies.ctr]
version = "0.8"
optional = true

[dependencies.der]
version = "0.8"
optional = true

[dependencies.der-parser]
version = "5"
optional = true

[dependencies.lexical-core]
version = ">0.7.4"
optional = true

[dependencies.minicbor]
version = "0.13"
optional = true

[dependencies.num-bigint]
version = "0.4"
optional = true

[dependencies.rcgen]
version = "0.11"
optional = true

[dependencies.ring]
version = "0.17"

[dependencies.signature]
version = "3.0.0-rc.10"
optional = true

[dependencies.simple_asn1]
version = "0.5"
optional = true

[dependencies.x509]
version = "0.2"
optional = true

[dependencies.x509-cert]
version = "0.3.0-rc.4"
optional = true

[dependencies.x509-parser]
version = "0.15"
features = ["verify"]
optional = true

[dependencies.yubikey]
version = "0.9.0-pre.0"
features = ["untested"]
optional = true

[dependencies.zeroize]
version = "1"
features = ["zeroize_derive"]

[dev-dependencies.clap]
version = "3.0.5"

[dev-dependencies.criterion]
version = "0.3"

[dev-dependencies.env_logger]
version = "0.8.2"

[dev-dependencies.hex]
version = "0.4.2"