[package]
name = "apple-codesign"
version = "0.22.0"
authors = ["Gregory Szorc <gregory.szorc@gmail.com>"]
edition = "2021"
rust-version = "1.65"
license = "MPL-2.0"
description = "Pure Rust interface to code signing on Apple platforms"
keywords = ["apple", "macos", "codesign"]
homepage = "https://github.com/indygreg/apple-platform-rs"
repository = "https://github.com/indygreg/apple-platform-rs.git"
readme = "README.md"

[[bin]]
name = "rcodesign"
path = "src/main.rs"

[dependencies]
anyhow = "1.0.71"
aws-config = { version = "0.55.3", optional = true }
aws-sdk-s3 = { version = "0.28.0", optional = true }
aws-smithy-http = {version = "0.55.3", optional = true }
base64 = "0.21.2"
bcder = "0.7.2"
bitflags = "2.3.1"
bytes = "1.4.0"
clap = { version = "4.3.1", features = ["derive"] }
chrono = "0.4.26"
cryptographic-message-syntax = "0.23.0"
der = "0.7.6"
dialoguer = "0.10.4"
difference = "2.0.0"
digest = "0.10.7"
dirs = "5.0.1"
elliptic-curve = { version = "0.13.5", features = ["arithmetic", "pkcs8"] }
env_logger = "0.10.0"
filetime = "0.2.21"
glob = "0.3.1"
goblin = "0.6.1"
hex = "0.4.3"
log = "0.4.18"
md-5 = "0.10.5"
minicbor = { version = "0.19.1", features = ["derive", "std"] }
oid-registry = "0.6.1"
once_cell = "1.17.2"
p12 = "0.6.3"
p256 = { version = "0.13.2", default-features = false, features = ["arithmetic", "pkcs8", "std"] }
pem = "2.0.1"
pkcs1 = { version = "0.7.5", features = ["alloc", "std", "pkcs8"] }
pkcs8 = { version = "0.10.2", features = ["alloc", "std"] }
plist = "1.4.3"
rand = "0.8.5"
rasn = "0.7.0"
rayon = "1.7.0"
regex = "1.8.3"
reqwest = { version = "0.11.18", default-features = false, features = ["blocking", "json", "rustls-tls"] }
ring = "0.16.20"
rsa = "0.8.2"
scroll = "0.11.0"
sha2 = "0.10.6"
semver = "1.0.17"
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
serde_yaml = "0.9.21"
signature = { version = "2.1.0", features = ["std"] }
simple-file-manifest = "0.11.0"
spake2 = "0.3.1"
spki = { version = "0.7.2", features = ["pem"] }
subtle = "2.5.0"
tempfile = "3.5.0"
thiserror = "1.0.40"
tokio = { version = "1.28.2", features = ["rt"] }
tungstenite = { version = "0.19.0", features = ["rustls-tls-native-roots"] }
uuid = { version = "1.3.3", features = ["v4"] }
x509 = "0.2.0"
x509-certificate = "0.20.0"
xml-rs = "0.8.14"
yasna = "0.5.2"
yubikey = { version = "0.7.0", optional = true, features = ["untested"] }
zeroize = { version = "1.6.0", features = ["zeroize_derive"] }
zip = { version = "0.6.6", default-features = false, features = ["deflate"] }
zip_structs = "0.2.1"

[dependencies.app-store-connect]
path = "../app-store-connect"
version = "0.1.0-pre"
optional = true

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

[dependencies.apple-flat-package]
path = "../apple-flat-package"
version = "0.13.0-pre"

[dependencies.apple-xar]
path = "../apple-xar"
version = "0.13.0-pre"

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

[dev-dependencies]
indoc = "2.0.1"
trycmd = "0.14.16"

[features]
default = ["notarize"]
notarize = ["app-store-connect", "aws-config", "aws-sdk-s3", "aws-smithy-http"]
smartcard = ["yubikey"]
