{"_id":"@anhquoc96/fastxml-security","name":"@anhquoc96/fastxml-security","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.2":{"name":"@anhquoc96/fastxml-security","version":"0.1.2","license":"MIT","description":"Canonical XML and XML security contracts for fastxml.","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"types":"./dist/index.d.ts","main":"./dist/index.js","scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit"},"dependencies":{"@anhquoc96/fastxml":"^0.1.2"},"engines":{"node":">=18"},"gitHead":"321353c78b100ee364ac6ed20bf93dfd62f10664","_id":"@anhquoc96/fastxml-security@0.1.2","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-eGNzUJvNVp+c4yyPLnJwNrNPKL13daTrnyHOyhWqb+GYFSY5YO+BWwRJwVUHq6SyVeXy57qFSJ1VF9PZzFEqYg==","shasum":"24545da98f9142571d0752f4a9160576fbad5411","tarball":"https://registry.npmjs.org/@anhquoc96/fastxml-security/-/fastxml-security-0.1.2.tgz","fileCount":39,"unpackedSize":21508,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDggDJvIM9g9BtlvCdTo8H2+5B6LhyNID3Uc3yRlMCA6AiEA4Gt780+TljzANPc2n6iKlL5V1OuqQ/IL8fqINn9+YvE="}]},"_npmUser":{"name":"anhquoc96","email":"aquoc.hue@outlook.com"},"directories":{},"maintainers":[{"name":"anhquoc96","email":"aquoc.hue@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fastxml-security_0.1.2_1786959233067_0.09159859389226122"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-17T09:33:52.583Z","0.1.2":"2026-08-17T09:33:53.214Z","modified":"2026-08-17T09:33:53.546Z"},"maintainers":[{"name":"anhquoc96","email":"aquoc.hue@outlook.com"}],"description":"Canonical XML and XML security contracts for fastxml.","license":"MIT","readme":"# @anhquoc96/fastxml-security\n\nPortable XML security primitives for Node.js and Deno applications using\n`fastxml`.\n\n## Installation\n\n```bash\nnpm install @anhquoc96/fastxml-security @anhquoc96/fastxml\n```\n\n## Canonical XML\n\n```ts\nimport { canonicalize } from \"@anhquoc96/fastxml-security\";\n\nconst canonicalXml = canonicalize(document);\n```\n\nCanonicalization produces deterministic element and attribute output suitable\nfor digest or signing workflows. Validate the canonicalization profile required\nby the receiving system before relying on it for interoperability.\n\n## Web Crypto signing primitives\n\n```ts\nimport { XmlSignatureService } from \"@anhquoc96/fastxml-security\";\n\nconst service = new XmlSignatureService();\nconst signature = await service.sign(document, privateKey, {\n  algorithm: \"RSASSA-PKCS1-v1_5\",\n  hash: \"SHA-256\",\n});\n\nconst valid = await service.verify(document, publicKey, signature, {\n  algorithm: \"RSASSA-PKCS1-v1_5\",\n  hash: \"SHA-256\",\n});\n```\n\nThe service uses the platform Web Crypto API and also supports RSA-PSS, ECDSA,\nand HMAC primitives.\n\n## WS-Security UsernameToken\n\n```ts\nimport { createUsernameToken } from \"@anhquoc96/fastxml-security\";\n\nconst token = createUsernameToken(\n  \"service-user\",\n  \"secret\",\n  new Date().toISOString(),\n);\n```\n\n## Security boundaries\n\nThis package does not claim complete XML Signature or XML Encryption envelope\nserialization, certificate-chain validation, key management, replay policy,\nor every WS-* profile. Applications must define trust anchors, credential\nhandling, algorithm policy, timestamp validation, and interoperability tests.\n\n## Development\n\n```bash\nnpm run build --workspace @anhquoc96/fastxml-security\nnpm run typecheck --workspace @anhquoc96/fastxml-security\n```\n\n## License\n\nMIT License. See the package `LICENSE` file.\n","readmeFilename":"README.md","_rev":"1-b53a780ef877c885e069914fb483ebfa"}