Files
nexus/rust/vendor/picky/Cargo.toml
T
Andy Dixon 50c0104d57 feat(core): RDP client on IronRDP
clients::rdp connects over any caller-dialled TCP stream (direct, proxy
or SSH tunnel), upgrades to TLS and logs on with NLA (CredSSP/NTLM),
optionally falling back to TLS-only logon for servers without NLA such
as xrdp (credentials are passed so they log straight in). The server
certificate is pinned through a caller check on its SHA256 fingerprint
before any credentials are sent. The desktop decodes into the VNC
client's RGBA framebuffer; input (IronRDP's scancode/Unicode/mouse
operations), Display Control resizes and the deactivation-reactivation
sequence run on the session thread.

IronRDP's releases need three vendored patches (vendor/README.md):
picky and sspi with their RustCrypto release-candidate pins relaxed so
they share russh's stable versions (their own suites, 402 tests, pass
against them), and ironrdp-session with two unreleased upstream bitmap
fixes (#1486 stride, #1524 RDP6 orientation) without which xrdp desktops
render sheared.

Verified live against xrdp (scottyhardy/docker-remote-desktop): logon,
full desktop rendering, keyboard and mouse input.
2026-10-12 10:50:24 +01:00

354 lines
5.9 KiB
TOML

# 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.85"
name = "picky"
version = "7.0.0-rc.25"
authors = [
"Benoît CORTIER <bcortier@devolutions.net>",
"Jonathan Trepanier <jtrepanier@devolutions.net>",
"François Dubois <fdubois@devolutions.net>",
"Richard Markiewicz <rmarkiewicz@devolutions.net>",
"Ionut Mihalcea <ionut.mihalcea@arm.com>",
"Kim Altintop <kim@monadic.xyz>",
"Alexandr Yusuk <aleksandr.yusuk@apriorit.com>",
"Flavio Castelli <flavio@castelli.me>",
"Xynnn_ <xynnn@linux.alibaba.com>",
]
build = false
include = [
"src/**/*",
"README.md",
"CHANGELOG.md",
"LICENSE-*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Portable X.509, PKI, JOSE and HTTP signature implementation."
readme = "README.md"
keywords = [
"x509",
"jwt",
"signature",
"jose",
"pki",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Devolutions/picky-rs"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[features]
chrono_conversion = [
"dep:chrono",
"picky-asn1/chrono_conversion",
]
ctl = [
"picky-asn1-x509/ctl",
"pkcs7",
"chrono_conversion",
]
ctl_http_fetch = [
"dep:reqwest",
"dep:cab",
"ctl",
]
default = [
"x509",
"jose",
"http_signature",
"http_trait_impl",
"pkcs12",
]
http_signature = []
http_timestamp = ["dep:reqwest"]
http_trait_impl = ["dep:http"]
jose = [
"dep:serde_json",
"dep:aes-gcm",
"dep:ctr",
"dep:cbc",
"dep:aes-kw",
"dep:aes",
]
pkcs12 = [
"picky-asn1-x509/pkcs12",
"dep:des",
"dep:rc2",
"dep:cbc",
"dep:hmac",
"dep:aes",
"x509",
"dep:pbkdf2",
]
pkcs7 = [
"x509",
"picky-asn1-x509/pkcs7",
]
putty = [
"dep:argon2",
"dep:hmac",
"ssh",
"dep:blake2",
]
ssh = [
"dep:byteorder",
"dep:aes",
"dep:ctr",
"dep:cbc",
"dep:bcrypt-pbkdf",
"dep:lexical-sort",
"dep:hmac",
"dep:pbkdf2",
]
time_conversion = [
"dep:time",
"picky-asn1/time_conversion",
]
wincert = [
"x509",
"dep:byteorder",
]
x509 = []
[lib]
name = "picky"
path = "src/lib.rs"
[dependencies.aes]
version = "0.9"
optional = true
[dependencies.aes-gcm]
version = "^0.11.0-rc.4"
optional = true
[dependencies.aes-kw]
version = "0.3"
optional = true
[dependencies.argon2]
version = "^0.6.0-rc.8"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.bcrypt-pbkdf]
version = "0.11"
optional = true
[dependencies.blake2]
version = "^0.11.0-rc.6"
optional = true
[dependencies.byteorder]
version = "1.5"
optional = true
[dependencies.cab]
version = "0.6"
optional = true
[dependencies.cbc]
version = "0.2"
features = ["alloc"]
optional = true
[dependencies.chrono]
version = "0.4"
features = ["clock"]
optional = true
default-features = false
[dependencies.crypto-bigint]
version = "0.7"
[dependencies.crypto-common]
version = "0.2"
[dependencies.ctr]
version = "0.10"
optional = true
[dependencies.curve25519-dalek]
version = "^5.0.0-rc.1"
[dependencies.des]
version = "0.9"
optional = true
[dependencies.digest]
version = "0.11"
[dependencies.ecdsa]
version = "^0.17.0-rc.22"
[dependencies.ed25519-dalek]
version = "^3.0.0-rc.1"
features = [
"hazmat",
"rand_core",
]
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.13"
optional = true
[dependencies.http]
version = "1.4"
optional = true
[dependencies.inout]
version = "0.2.2"
[dependencies.lexical-sort]
version = "0.3"
optional = true
[dependencies.md5]
version = "0.11"
features = ["oid"]
package = "md-5"
[dependencies.p256]
version = "^0.14.0-rc.14"
features = ["ecdh"]
[dependencies.p384]
version = "^0.14.0-rc.14"
features = ["ecdh"]
[dependencies.p521]
version = "^0.14.0-rc.14"
features = ["ecdh"]
[dependencies.pbkdf2]
version = "0.13"
optional = true
[dependencies.picky-asn1]
version = "0.10"
features = ["zeroize"]
[dependencies.picky-asn1-der]
version = "0.5"
[dependencies.picky-asn1-x509]
version = "0.15"
features = [
"legacy",
"zeroize",
]
[dependencies.pkcs1]
version = "^0.8.0-rc.4"
[dependencies.primeorder]
version = "^0.14.0-rc.14"
[dependencies.rand]
version = "0.10"
[dependencies.rand_core]
version = "0.10"
[dependencies.rc2]
version = "0.9"
optional = true
[dependencies.reqwest]
version = "0.13"
features = ["blocking"]
optional = true
default-features = false
[dependencies.rsa]
version = "^0.10.0-rc.18"
features = ["std"]
[dependencies.rustcrypto-ff]
version = "^0.14.0-rc.1"
[dependencies.rustcrypto-ff_derive]
version = "^0.14.0-rc.0"
[dependencies.rustcrypto-group]
version = "^0.14.0-rc.1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.sha1]
version = "0.11"
features = ["oid"]
[dependencies.sha2]
version = "0.11"
features = ["oid"]
[dependencies.sha3]
version = "0.12"
features = ["oid"]
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
optional = true
[dependencies.x25519-dalek]
version = "^3.0.0-rc.1"
features = ["static_secrets"]
[dependencies.zeroize]
version = "1.8"
[dev-dependencies.cfg-if]
version = "1.0"
[dev-dependencies.expect-test]
version = "1"
[dev-dependencies.picky-test-data]
version = "0.1"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.rand_chacha]
version = "0.10"
[dev-dependencies.ring]
version = "0.17"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.tempfile]
version = "3.22"