[package]
edition = "2021"
rust-version = "1.88"
name = "app-store-server-library"
version = "6.0.0"
authors = [
"tkhp",
"namecare",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The Rust server library for the App Store Server API, App Store Server Notifications and Advanced Commerce API"
homepage = "https://github.com/namecare/app-store-server-library-rust"
documentation = "https://docs.rs/app-store-server-library"
readme = "README.md"
keywords = [
"apple",
"appstore",
"appstore-server-api",
"appstore-receipt",
"advanced-commerce",
]
license = "MIT"
repository = "https://github.com/namecare/app-store-server-library-rust"
[features]
api-client = ["dep:http"]
api-client-reqwest = [
"api-client",
"dep:reqwest",
"reqwest-tls-rustls",
]
api-client-reqwest-native-tls = [
"api-client",
"dep:reqwest",
"reqwest-tls-native",
]
aws_lc = [
"dep:aws-lc-rs",
"dep:asn1-rs",
"x509-validator/aws_lc",
]
default = []
receipt-utility = [
"dep:regex",
"dep:asn1-rs",
]
reqwest-tls-native = ["reqwest/native-tls"]
reqwest-tls-rustls = ["reqwest/rustls"]
ring = [
"dep:ring",
"dep:asn1-rs",
"x509-validator/ring",
]
rust_crypto = [
"dep:pem-rfc7468",
"dep:p256",
"dep:p384",
"dep:rsa",
"dep:sha2",
"dep:signature",
"x509-validator/rust_crypto",
]
[lib]
name = "app_store_server_library"
path = "src/lib.rs"
[[test]]
name = "advanced_commerce_api_client"
path = "tests/advanced_commerce_api_client.rs"
required-features = ["api-client"]
[[test]]
name = "advanced_commerce_models"
path = "tests/advanced_commerce_models.rs"
[[test]]
name = "app_store_server_api_client"
path = "tests/app_store_server_api_client.rs"
required-features = ["api-client"]
[[test]]
name = "chain_verifier"
path = "tests/chain_verifier.rs"
[[test]]
name = "crypto_provider_aws_lc"
path = "tests/crypto_provider.rs"
required-features = ["aws_lc"]
[[test]]
name = "crypto_provider_ring"
path = "tests/crypto_provider.rs"
required-features = ["ring"]
[[test]]
name = "crypto_provider_rust_crypto"
path = "tests/crypto_provider.rs"
required-features = ["rust_crypto"]
[[test]]
name = "jws_signature_creator_aws_lc"
path = "tests/jws_signature_creator.rs"
required-features = ["aws_lc"]
[[test]]
name = "jws_signature_creator_ring"
path = "tests/jws_signature_creator.rs"
required-features = ["ring"]
[[test]]
name = "jws_signature_creator_rust_crypto"
path = "tests/jws_signature_creator.rs"
required-features = ["rust_crypto"]
[[test]]
name = "promotional_offer_signature_creator_aws_lc"
path = "tests/promotional_offer_signature_creator.rs"
required-features = ["aws_lc"]
[[test]]
name = "promotional_offer_signature_creator_ring"
path = "tests/promotional_offer_signature_creator.rs"
required-features = ["ring"]
[[test]]
name = "promotional_offer_signature_creator_rust_crypto"
path = "tests/promotional_offer_signature_creator.rs"
required-features = ["rust_crypto"]
[[test]]
name = "realtime_response_body"
path = "tests/realtime_response_body.rs"
[[test]]
name = "receipt_utility"
path = "tests/receipt_utility.rs"
[[test]]
name = "retention_messaging"
path = "tests/retention_messaging.rs"
[[test]]
name = "signed_data_verifier_aws_lc"
path = "tests/signed_data_verifier.rs"
required-features = ["aws_lc"]
[[test]]
name = "signed_data_verifier_ring"
path = "tests/signed_data_verifier.rs"
required-features = ["ring"]
[[test]]
name = "signed_data_verifier_rust_crypto"
path = "tests/signed_data_verifier.rs"
required-features = ["rust_crypto"]
[[test]]
name = "unsupported_enum_values"
path = "tests/unsupported_enum_values.rs"
[dependencies.asn1-rs]
version = "0.7.2"
optional = true
[dependencies.aws-lc-rs]
version = "1.18.0"
optional = true
[dependencies.base64]
version = "0.23.1"
[dependencies.chrono]
version = "0.4.45"
features = ["serde"]
[dependencies.http]
version = "1.5.0"
optional = true
[dependencies.p256]
version = "0.14.0"
features = [
"ecdsa",
"pkcs8",
]
optional = true
[dependencies.p384]
version = "0.14.0"
features = ["ecdsa"]
optional = true
[dependencies.pem-rfc7468]
version = "1.0.0"
optional = true
[dependencies.regex]
version = "1.13.1"
optional = true
[dependencies.reqwest]
version = "0.13.4"
features = [
"json",
"http2",
"blocking",
]
optional = true
default-features = false
[dependencies.ring]
version = "0.17.14"
optional = true
[dependencies.rsa]
version = "0.10.0-rc.18"
optional = true
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.serde_repr]
version = "0.1.21"
[dependencies.serde_with]
version = "3.22.0"
features = ["chrono"]
[dependencies.sha2]
version = "0.11.0"
features = ["oid"]
optional = true
[dependencies.signature]
version = "3.0.0"
optional = true
[dependencies.thiserror]
version = "2.0.20"
[dependencies.uuid]
version = "1.24.0"
features = [
"serde",
"v4",
]
[dependencies.x509-validator]
version = "0.2.0"
default-features = false
[dev-dependencies.tokio]
version = "1.53.1"
features = [
"test-util",
"macros",
]