{"_id":"@dottedice/cms-signature-validator","_rev":"6-1ce53ea6860adba4e636244283cedd65","name":"@dottedice/cms-signature-validator","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@dottedice/cms-signature-validator","version":"1.0.0","keywords":["cms-verification","pkcs7-verify","cryptography","pki"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/cms-signature-validator@1.0.0","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"dist":{"shasum":"5fc373ac2ba01aeb66b6b43e6c16ae4ba1ae12e3","tarball":"https://registry.npmjs.org/@dottedice/cms-signature-validator/-/cms-signature-validator-1.0.0.tgz","fileCount":3,"integrity":"sha512-k+JFsdmwTUXRLAzZuRJvT8tC94Qq/lSAb9n7hb7SIm5KdyNZH07jlolpn64TtwP1v0v5nEwaCzajmY205bCT9w==","signatures":[{"sig":"MEUCIAVIcFVRCS7krMUcDnWDB80qF13NMXgSglPNG3O1qPAGAiEA2rwci8zwl56kA86N/us6TYl6CwwNMwoLHU05ogtvUdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8190},"main":"index.js","type":"module","gitHead":"4b689c2fc0b93920a14ed6ad718bf0b3fe1a8b67","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"Cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cms-signature-validator_1.0.0_1785999055906_0.762352258705753","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dottedice/cms-signature-validator","version":"1.0.1","keywords":["cms-verification","pkcs7-verify","cryptography","pki"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/cms-signature-validator@1.0.1","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"dist":{"shasum":"579e9eaade361f10ceb5cca9c174bc2bb56ba4f6","tarball":"https://registry.npmjs.org/@dottedice/cms-signature-validator/-/cms-signature-validator-1.0.1.tgz","fileCount":3,"integrity":"sha512-x/1dZKr1LJMAZGI8OyWNFgUEPLinmt/Wr6y6P9l91n6nzUaJYpAMcWNGmXxH6fSZXRLVI+T48akKNQEQsW13tA==","signatures":[{"sig":"MEYCIQC6Vn8FPttllxdFl5n+J2ESKImF2vr+dBDRU7kL1A1VnAIhAPBjqQD3Xz2W+K7ipPZgLOP3YPG61HHKX3YdFGT3J+kM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13274},"main":"index.js","type":"module","gitHead":"39c658f30e9a13eaa0278eb6b3585ce701eafee6","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"Cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cms-signature-validator_1.0.1_1786198740175_0.1986692820010756","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dottedice/cms-signature-validator","version":"1.0.2","keywords":["cms-verification","pkcs7-verify","cryptography","pki"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/cms-signature-validator@1.0.2","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/open-source-terms.html","dist":{"shasum":"b1e5187ff83b0b04ec8a63089f85bfd31c052e8d","tarball":"https://registry.npmjs.org/@dottedice/cms-signature-validator/-/cms-signature-validator-1.0.2.tgz","fileCount":3,"integrity":"sha512-eOcTjLthimYS/WQRC00hv7uYIOwPC9nrBs3uiHxrI/IBKTxZJEVeeSQkEJAgEW2KTJdlWqGhJsKCyFGlXnSQLA==","signatures":[{"sig":"MEQCICYUxSHfqXrsOIlFz3oBJlhI+WxtuuyNv50RxDDOXk8VAiBcq90aYQIoAm/GzEQ3NfJZ72+bSerjSf9FuQRteOOu+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13336},"main":"index.js","type":"module","gitHead":"46be19e7fa82587f9fc85010aa7c72e6e148a0f3","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"10.8.2","description":"Cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cms-signature-validator_1.0.2_1786885913722_0.015523316024625311","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dottedice/cms-signature-validator","version":"1.0.3","keywords":["cms-verification","pkcs7-verify","cryptography","pki"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/cms-signature-validator@1.0.3","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/open-source-terms.html","dist":{"shasum":"c2de21ab833c3b5fe49181a0345a5b9452075732","tarball":"https://registry.npmjs.org/@dottedice/cms-signature-validator/-/cms-signature-validator-1.0.3.tgz","fileCount":3,"integrity":"sha512-e8q62iiEsmhdqfpatpm74GsxWeqdn2KCrur7HbkVsjBKCB1ImNh19sC6bNcnGydY4ACV4vOoaBdTSQZheEbDXw==","signatures":[{"sig":"MEYCIQCgXQwGFzAATtHrOiJKqYXwiSjY9OYKb91OkeUKdc0KnwIhAJJSCBPRCNhY8KpW9vsbMLEbfCXmNMFwuWPQSx9LLZwf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13336},"main":"index.js","type":"module","gitHead":"46be19e7fa82587f9fc85010aa7c72e6e148a0f3","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"11.5.1","description":"Cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser","directories":{},"_nodeVersion":"24.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cms-signature-validator_1.0.3_1786971168393_0.5767132967241588","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@dottedice/cms-signature-validator","version":"1.0.4","keywords":["cms-verification","pkcs7-verify","cryptography","pki"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","_id":"@dottedice/cms-signature-validator@1.0.4","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"homepage":"https://dottedice.com/legal.html#tab=opensource","dist":{"shasum":"fb69405249b64d95845c743d168d2a6b75a88961","tarball":"https://registry.npmjs.org/@dottedice/cms-signature-validator/-/cms-signature-validator-1.0.4.tgz","fileCount":3,"integrity":"sha512-7tFdwTD0l/nEpM/vKAKYQ/igk4VOMHLPXjB+hs5XcoDE5ad8ZjDH1PQG6p8KZYKI6U/lllmVxmZJSJWw74IHRQ==","signatures":[{"sig":"MEQCIG7yA4oNRqOTCu71Lj/neSRO0Qx3LF5rBWKgEpr+G5bvAiB//f/gPcEgzktDJnDXJFgavWUdO+tUrYpsldONdkyHFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8733},"main":"index.js","type":"module","gitHead":"ce102bc6358dfcce38e3625b8efc56246f033747","_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"_npmVersion":"11.5.1","description":"Cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser","directories":{},"_nodeVersion":"24.6.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cms-signature-validator_1.0.4_1786973320273_0.5648924249907894","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@dottedice/cms-signature-validator","version":"1.0.5","description":"Cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser","main":"index.js","type":"module","keywords":["cms-verification","pkcs7-verify","cryptography","pki"],"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","homepage":"https://dottedice.com/legal.html#tab=opensource","publishConfig":{"access":"public"},"_id":"@dottedice/cms-signature-validator@1.0.5","gitHead":"3d162b3ab290497b392b95c2df1b86ed3f9bec84","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-IxwFTcr8s7iaOHTgWPOjgcvNv7tB6qsl5DD1gyVAgipaQZIF+Zt5R/YqkbgLnkxrwhaVKId4mus651tbfdd95w==","shasum":"cf720fc49cf85c312ee265ca535f71f16389f327","tarball":"https://registry.npmjs.org/@dottedice/cms-signature-validator/-/cms-signature-validator-1.0.5.tgz","fileCount":3,"unpackedSize":9027,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDL5XA3MOE0QXH4DY4d73RJzPggTWTHeCHJ6qxKNJ/YqwIgBUhRgFAE+SS9E00/4EFUKOZqk5P+C65cLXpyRwqyLHA="}]},"_npmUser":{"name":"dottedice","email":"info@dottedice.com"},"directories":{},"maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cms-signature-validator_1.0.5_1787674436908_0.4196244570037011"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-06T06:50:55.753Z","modified":"2026-08-25T16:13:57.177Z","1.0.0":"2026-08-06T06:50:56.035Z","1.0.1":"2026-08-08T14:19:00.329Z","1.0.2":"2026-08-16T13:11:53.843Z","1.0.3":"2026-08-17T12:52:48.542Z","1.0.4":"2026-08-17T13:28:40.415Z","1.0.5":"2026-08-25T16:13:57.034Z"},"author":{"name":"DottedIce Digital"},"license":"Apache-2.0","homepage":"https://dottedice.com/legal.html#tab=opensource","keywords":["cms-verification","pkcs7-verify","cryptography","pki"],"description":"Cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser","maintainers":[{"name":"dottedice","email":"info@dottedice.com"}],"readme":"## Legal Terms & Disclaimer\nThis open-source package is distributed strictly for technical education and architectural research purposes. For full warranty disclaimers, export control notices (US EAR / EU Dual-Use), and limitation of liability terms, please review our [Open Source Terms & Disclaimer](https://dottedice.com/legal.html#tab=opensource).\n\n---\n\n# @dottedice/cms-signature-validator\n\nZero-dependency cryptographic PKCS#7 / CMS SignedData signature verifier and certificate chain parser. Leverages native Web Cryptography API to execute in-browser/Node.js validation of signed attributes, certificate SPKIs, and raw signature values.\n\n## Installation\n\n```bash\nnpm install @dottedice/cms-signature-validator\n```\n\n## Features\n* **Zero Dependencies**: Pure vanilla JavaScript module using standard Web Crypto.\n* **Low-Level ASN.1 Parser**: Includes built-in TLV parsing helpers to traverse nested DER streams.\n* **Cryptographic Integrity Checks**: Reconstructs signed attributes (SET structure) and validates the RSASSA-PKCS1-v1_5 signature against the signer's public key.\n\n## API Reference\n\n### `verifyCMSSignature(cmsDer, docHash)`\nAsynchronously parses the CMS wrapper, extracts the public key from the embedded certificate, and cryptographically verifies the signature.\n* `cmsDer` (`Uint8Array`): Binary DER-encoded CMS SignedData bytes.\n* `docHash` (`Uint8Array`): Recomputed document digest bytes.\n* Returns `{ isValid: boolean, signerPublicKey, signerCertificate }` on success, or `{ isValid: false, reason }` on verification failure.\n","readmeFilename":"README.md"}