[package]
name = "isideload-apple-codesign"
version = "0.29.5"
authors = ["Nicholas Sharp <nab@nabdev.me>"]
edition = "2024"
license = "MPL-2.0"
description = "Pure Rust interface to code signing on Apple platforms"
keywords = ["apple", "macos", "codesign"]
homepage = "https://github.com/nab138/isideload-apple-platform-rs"
repository = "https://github.com/nab138/isideload-apple-platform-rs.git"
readme = "README.md"

[dependencies]
anyhow = "1.0.93"
base64 = "0.22.1"
bcder = "0.7.4"
bitflags = "2.6.0"
bytes = "1.9.0"
clap = { version = "4.5.21", features = ["derive"] }
chrono = "0.4.38"
cryptographic-message-syntax = { version = "0.31.0", package = "isideload-cryptographic-message-syntax", default-features = false }
der = { version = "0.7.9", features = ["alloc"] }
dialoguer = "0.11.0"
difference = "2.0.0"
digest = "0.10.7"
dirs = "5.0.1"
elliptic-curve = { version = "0.13.8", features = ["arithmetic", "pkcs8"] }
env_logger = "0.11.5"
figment = { version = "0.10.19", features = ["env", "toml"] }
filetime = "0.2.25"
glob = "0.3.1"
goblin = "0.9.2"
hex = "0.4.3"
log = "0.4.22"
md-5 = "0.10.6"
num-traits = "0.2.19"
object = { version = "0.36.5", features = ["write"] }
oid-registry = "0.8.1"
once_cell = "1.20.2"
p12 = "0.6.3"
p256 = { version = "0.13.2", default-features = false, features = ["arithmetic", "pkcs8", "std"] }
pem = "3.0.4"
pkcs1 = { version = "0.7.5", features = ["alloc", "std", "pkcs8"] }
pkcs8 = { version = "0.10.2", features = ["alloc", "std"] }
plist = "1.7.0"
rand = "0.8.5"
rasn = "0.20.2"
rayon = "1.10.0"
regex = "1.11.1"
rsa = "0.9.7"
scroll = "0.12.0"
sha2 = "0.10.8"
semver = "1.0.23"
serde = { version = "1.0.215", features = ["derive"] }
serde_json = "1.0.133"
serde_yaml = "0.9.34"
signature = { version = "2.2.0", features = ["std"] }
simple-file-manifest = { version = "0.11.0", path = "../simple-file-manifest-rs", package = "isideload-simple-file-manifest" }
spki = { version = "0.7.3", features = ["pem"] }
subtle = "2.6.1"
tempfile = "3.14.0"
thiserror = "2.0.3"
tokio = { version = "1.41.1", features = ["rt"] }
uuid = { version = "1.20.0", features = ["v4"] }
walkdir = "2.5.0"
x509-certificate = { version = "0.26.0", package = "isideload-x509-certificate" }
xml-rs = "0.8.23"
yasna = "0.5.2"
yubikey = { version = "0.8.0", optional = true, features = ["untested"] }
zeroize = { version = "1.8.1", features = ["zeroize_derive"] }
zip = { version = "8", default-features = false, features = ["deflate"] }
zip_structs = "0.2.1"
ring = "0.17.14"
p12-keystore = "0.2.1"

[dependencies.apple-bundles]
path = "../apple-bundles"
version = "0.21.0"

[dependencies.apple-flat-package]
path = "../apple-flat-package"
version = "0.20.2"
package = "isideload-apple-flat-package"

[dependencies.apple-xar]
path = "../apple-xar"
version = "0.20.2"
package = "isideload-apple-xar"

[target.'cfg(target_os = "macos")'.dependencies]
security-framework = { version = "2.11.1", features = ["OSX_10_12"] }
security-framework-sys = { version = "2.12.1", features = ["OSX_10_12"] }

[target.'cfg(target_os = "windows")'.dependencies]
widestring = { version = "1.1.0" }
windows-sys = { version = "0.59.0", features = ["Win32_Foundation", "Win32_Security_Cryptography"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom_02 = { package = "getrandom", version = "0.2", default-features = false, features = [
  "js",
] }
getrandom_04 = { package = "getrandom", version = "0.4", default-features = false, features = [
  "wasm_js",
] }

[dev-dependencies]
flate2 = "1.0.35"
indoc = "2.0.5"
simple-file-manifest = { version = "0.11.0", path = "../simple-file-manifest-rs", package = "isideload-simple-file-manifest" }
tar = "0.4.43"
trycmd-indygreg-fork = "0.14.20"
zip = { version = "8", default-features = false }

[features]
default = []
smartcard = ["yubikey"]
wasm = ["ring/wasm32_unknown_unknown_js"]