[package]
edition = "2024"
rust-version = "1.92"
name = "xml-sec"
version = "0.1.10"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure Rust XML Security: XMLDSig, XMLEnc, C14N. Drop-in replacement for libxmlsec1."
homepage = "https://github.com/structured-world/xml-sec"
documentation = "https://docs.rs/xml-sec"
readme = "README.md"
keywords = [
"xml",
"xmldsig",
"xmlenc",
"c14n",
"saml",
]
categories = [
"cryptography",
"web-programming",
"authentication",
]
license = "Apache-2.0"
repository = "https://github.com/structured-world/xml-sec"
[features]
c14n = []
default = [
"xmldsig",
"c14n",
]
xmldsig = [
"dep:der",
"dep:crypto-bigint",
"dep:getrandom",
"dep:p256",
"dep:p384",
"dep:p521",
"dep:rsa",
"dep:sha1",
"dep:sha2",
"dep:signature",
"dep:subtle",
"dep:sxd-document-no-unsafe",
"dep:sxd-xpath-no-unsafe",
"dep:x509-parser",
]
xmlenc = [
"dep:aes",
"dep:aes-gcm",
"dep:aes-kw",
"dep:cbc",
"dep:getrandom",
"dep:rsa",
"dep:sha1",
"dep:sha2",
]
[lib]
name = "xml_sec"
path = "src/lib.rs"
[[example]]
name = "encrypt"
path = "examples/encrypt.rs"
required-features = ["xmlenc"]
[[example]]
name = "sign"
path = "examples/sign.rs"
[[example]]
name = "verify"
path = "examples/verify.rs"
[[test]]
name = "base64_transform_integration"
path = "tests/base64_transform_integration.rs"
[[test]]
name = "c14n_golden"
path = "tests/c14n_golden.rs"
[[test]]
name = "c14n_integration"
path = "tests/c14n_integration.rs"
[[test]]
name = "donor_digest_vectors"
path = "tests/donor_digest_vectors.rs"
[[test]]
name = "donor_full_verification_suite"
path = "tests/donor_full_verification_suite.rs"
[[test]]
name = "donor_interop_suite"
path = "tests/donor_interop_suite.rs"
[[test]]
name = "donor_negative_vectors"
path = "tests/donor_negative_vectors.rs"
[[test]]
name = "ecdsa_signature_integration"
path = "tests/ecdsa_signature_integration.rs"
[[test]]
name = "fixtures_smoke"
path = "tests/fixtures_smoke.rs"
[[test]]
name = "import_donor_fixtures"
path = "tests/import_donor_fixtures.rs"
[[test]]
name = "reference_integration"
path = "tests/reference_integration.rs"
[[test]]
name = "rsa_signature_integration"
path = "tests/rsa_signature_integration.rs"
[[test]]
name = "saml_idp_integration"
path = "tests/saml_idp_integration.rs"
[[test]]
name = "saml_signing_integration"
path = "tests/saml_signing_integration.rs"
[[test]]
name = "signature_builder"
path = "tests/signature_builder.rs"
[[test]]
name = "signature_pipeline_integration"
path = "tests/signature_pipeline_integration.rs"
[[test]]
name = "signing_digest"
path = "tests/signing_digest.rs"
[[test]]
name = "transforms_integration"
path = "tests/transforms_integration.rs"
[[test]]
name = "uri_integration"
path = "tests/uri_integration.rs"
[[test]]
name = "x509_chain_integration"
path = "tests/x509_chain_integration.rs"
[[test]]
name = "xmlenc_donor_integration"
path = "tests/xmlenc_donor_integration.rs"
[[test]]
name = "xmlenc_encrypt_integration"
path = "tests/xmlenc_encrypt_integration.rs"
[[test]]
name = "xmlenc_encrypt_xmlsec1"
path = "tests/xmlenc_encrypt_xmlsec1.rs"
[[test]]
name = "xmlsec1_interop"
path = "tests/xmlsec1_interop.rs"
[[test]]
name = "xpath_donor_vectors"
path = "tests/xpath_donor_vectors.rs"
[[test]]
name = "xpath_transform_integration"
path = "tests/xpath_transform_integration.rs"
[dependencies.aes]
version = "0.9.1"
optional = true
[dependencies.aes-gcm]
version = "0.11.0"
optional = true
[dependencies.aes-kw]
version = "0.3.1"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.cbc]
version = "0.2.1"
optional = true
[dependencies.crypto-bigint]
version = "0.7"
optional = true
[dependencies.der]
version = "0.8"
optional = true
[dependencies.getrandom]
version = "0.4"
features = ["sys_rng"]
optional = true
[dependencies.p256]
version = "0.14"
features = ["ecdsa"]
optional = true
[dependencies.p384]
version = "0.14"
features = ["ecdsa"]
optional = true
[dependencies.p521]
version = "0.14"
features = ["ecdsa"]
optional = true
[dependencies.quick-xml]
version = "0.41"
[dependencies.roxmltree]
version = "0.21"
features = ["positions"]
[dependencies.rsa]
version = "0.10.0-rc.18"
optional = true
[dependencies.sha1]
version = "0.11"
features = ["oid"]
optional = true
[dependencies.sha2]
version = "0.11"
features = ["oid"]
optional = true
[dependencies.signature]
version = "3"
optional = true
[dependencies.subtle]
version = "2"
optional = true
[dependencies.sxd-document-no-unsafe]
version = "0.4.1"
features = ["no-unsafe"]
optional = true
default-features = false
[dependencies.sxd-xpath-no-unsafe]
version = "0.5.1"
features = ["no-unsafe"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.x509-parser]
version = "0.18"
features = ["verify"]
optional = true
[dev-dependencies.rand_chacha]
version = "0.10"
[dev-dependencies.rcgen]
version = "0.14.6"
[dev-dependencies.time]
version = "0.3.53"