# 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 = "2024" rust-version = "1.89" name = "sspi" version = "0.21.3" authors = ["Devolutions Inc. "] build = false autolib = false autobins = false autoexamples = false autotests = false autobenches = false description = "A Rust implementation of the Security Support Provider Interface (SSPI) API" homepage = "https://github.com/devolutions/sspi-rs" readme = "README.md" keywords = [ "ntlm", "auth", "sspi", "windows", "kerberos", ] license = "MIT OR Apache-2.0" repository = "https://github.com/devolutions/sspi-rs" resolver = "2" [features] __install-crypto-provider = [] __rustls-used = ["dep:rustls"] __test-data = [] aws-lc-rs = [ "rustls?/aws-lc-rs", "__install-crypto-provider", ] default = ["aws-lc-rs"] dns_resolver = [ "dep:hickory-resolver", "dep:hickory-proto", "dep:tokio", ] network_client = [ "dep:reqwest", "dep:portpicker", "dep:rustls-native-certs", "__rustls-used", ] ring = [ "rustls?/ring", "reqwest?/rustls-tls-native-roots", "__install-crypto-provider", ] scard = [ "dep:winscard", "dep:cryptoki", ] tsssp = [ "dep:rustls", "__rustls-used", ] [lib] name = "sspi" path = "src/lib.rs" [[example]] name = "client" path = "examples/client.rs" [[example]] name = "kerberos" path = "examples/kerberos.rs" required-features = ["network_client"] [[example]] name = "server" path = "examples/server.rs" [[test]] name = "sspi" path = "tests/sspi/main.rs" [dependencies.async-recursion] version = "1.1" [dependencies.bitflags] version = "2.11" [dependencies.bytemuck] version = "1.24" [dependencies.byteorder] version = "1.5" [dependencies.cfg-if] version = "1" [dependencies.crypto-bigint] version = "0.7" features = ["alloc"] default-features = false [dependencies.crypto-mac] version = "0.11" [dependencies.getrandom] version = "0.3" [dependencies.hickory-proto] version = "0.25" optional = true [dependencies.hickory-resolver] version = "0.25" optional = true [dependencies.hmac] version = "0.13" [dependencies.md-5] version = "0.11" [dependencies.md4] version = "0.10" [dependencies.num-derive] version = "0.4" [dependencies.num-traits] version = "0.2" default-features = true [dependencies.oid] version = "0.2" [dependencies.picky] version = "^7.0.0-rc.25" default-features = false [dependencies.picky-asn1] version = "0.10" features = ["time_conversion"] [dependencies.picky-asn1-der] version = "0.5" [dependencies.picky-asn1-x509] version = "0.15" features = ["pkcs7"] [dependencies.picky-krb] version = "0.12" [dependencies.portpicker] version = "0.1" optional = true [dependencies.rand] version = "0.10" [dependencies.rand_core] version = "0.10" [dependencies.reqwest] version = "0.12" features = [ "blocking", "rustls-tls-no-provider", ] optional = true default-features = false [dependencies.rsa] version = "^0.10.0-rc.18" default-features = false [dependencies.rustls] version = "0.23" features = [ "logging", "std", "tls12", ] optional = true default-features = false [dependencies.rustls-native-certs] version = "0.8" optional = true [dependencies.serde] version = "1" [dependencies.sha1] version = "0.11" default-features = false [dependencies.sha2] version = "0.11" [dependencies.tokio] version = "1.52" features = [ "time", "rt", "rt-multi-thread", ] optional = true [dependencies.tracing] version = "0.1" default-features = true [dependencies.url] version = "2.5" [dependencies.uuid] version = "1.23" features = ["v4"] default-features = true [dependencies.widestring] version = "1.2" [dependencies.winscard] version = "0.3" optional = true [dependencies.zeroize] version = "1.8" features = ["zeroize_derive"] [dev-dependencies.base64] version = "0.22" [dev-dependencies.cfg-if] version = "1" [dev-dependencies.picky] version = "^7.0.0-rc.25" features = ["x509"] default-features = false [dev-dependencies.proptest] version = "1.6" [dev-dependencies.static_assertions] version = "1" [dev-dependencies.tracing-subscriber] version = "0.3" features = ["env-filter"] [dev-dependencies.whoami] version = "2.1" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.async-dnssd] version = "0.5" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.curve25519-dalek] version = "^5.0.0-rc.1" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.ed25519-dalek] version = "^3.0.0-rc.1" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.futures] version = "0.3" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.p256] version = "^0.14.0-rc.14" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.p384] version = "^0.14.0-rc.14" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.p521] version = "^0.14.0-rc.14" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.pkcs1] version = "^0.8.0-rc.4" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.primeorder] version = "^0.14.0-rc.14" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.rustcrypto-ff] version = "^0.14.0-rc.1" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.rustcrypto-ff_derive] version = "^0.14.0-rc.0" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.rustcrypto-group] version = "^0.14.0-rc.1" [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.tokio] version = "1.52" features = [ "time", "rt", "rt-multi-thread", ] [target.'cfg(not(target_arch = "wasm32"))'.dependencies.cryptoki] version = "0.12" optional = true [target.'cfg(not(target_arch = "wasm32"))'.dependencies.time] version = "0.3" features = ["std"] default-features = false [target.'cfg(target_arch = "wasm32")'.dependencies.getrandom] version = "0.3" features = ["wasm_js"] [target.'cfg(target_arch = "wasm32")'.dependencies.time] version = "0.3" features = ["wasm-bindgen"] default-features = false [target.'cfg(target_arch = "wasm32")'.dependencies.uuid] version = "1.23" features = ["js"] default-features = false [target."cfg(windows)".dependencies.windows] version = "0.62" features = [ "Win32_Foundation", "Win32_System", "Win32_NetworkManagement_Dns", "Win32_Security_Cryptography", ] [target."cfg(windows)".dependencies.windows-registry] version = "0.6" [lints.clippy] as_pointer_underscore = "warn" as_ptr_cast_mut = "warn" as_underscore = "warn" filetype_is_file = "warn" float_cmp = "warn" float_cmp_const = "warn" fn_to_numeric_cast_any = "warn" get_unwrap = "warn" lossy_float_literal = "warn" mem_forget = "warn" missing_safety_doc = "warn" mixed_read_write_in_expression = "warn" multiple_unsafe_ops_per_block = "warn" needless_raw_strings = "warn" non_ascii_literal = "warn" panic = "warn" ptr_cast_constness = "warn" rc_mutex = "warn" suspicious_xor_used_as_pow = "warn" undocumented_unsafe_blocks = "warn" unnecessary_safety_comment = "warn" unused_result_ok = "warn" [lints.rust] ambiguous_negative_literals = "warn" elided_lifetimes_in_paths = "warn" redundant_lifetimes = "warn" single_use_lifetimes = "warn" trivial_numeric_casts = "warn" unreachable_pub = "warn" unused_lifetimes = "warn" unused_qualifications = "warn" [lints.rust.unexpected_cfgs] level = "warn" priority = 0 check-cfg = ["cfg(fuzzing)"] [profile.ffi-production] opt-level = "z" lto = true codegen-units = 1 split-debuginfo = "packed" panic = "abort" inherits = "release" strip = false [profile.ffi-production.package.aes] opt-level = 3 [profile.ffi-production.package.aes-gcm] opt-level = 3 [profile.ffi-production.package.aes-kw] opt-level = 3 [profile.ffi-production.package.argon2] opt-level = 3 [profile.ffi-production.package.cbc] opt-level = 3 [profile.ffi-production.package.crypto-bigint] opt-level = 3 [profile.ffi-production.package.ctr] opt-level = 3 [profile.ffi-production.package.des] opt-level = 3 [profile.ffi-production.package.hmac] opt-level = 3 [profile.ffi-production.package.p256] opt-level = 3 [profile.ffi-production.package.p384] opt-level = 3 [profile.ffi-production.package.p521] opt-level = 3 [profile.ffi-production.package.pbkdf2] opt-level = 3 [profile.ffi-production.package.rsa] opt-level = 3 [profile.ffi-production.package.sha1] opt-level = 3 [profile.ffi-production.package.sha2] opt-level = 3 [profile.ffi-production.package.sha3] opt-level = 3