{"_id":"coap-oscore","_rev":"13-18f9c9549c8acf011b4784491cfa91fb","name":"coap-oscore","dist-tags":{"latest":"2.2.3"},"versions":{"1.1.0":{"name":"coap-oscore","version":"1.1.0","license":"MIT","_id":"coap-oscore@1.1.0","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"dist":{"shasum":"ec5edcaf201770603217bb52e18a77a7831d54fb","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-1.1.0.tgz","fileCount":678,"integrity":"sha512-8rZ1OUuOa47/7hY/jV/N4byHMKGSlcM1Qe32p04OhLCnAKiaouQoUYGIYMaLZORxhkQrTDONtiST8aXZvfDlUg==","signatures":[{"sig":"MEQCIEeQsIfDUyjFMyw8j195l9ujlIYXQkMIwHjwb9fEOCweAiBEebkQQperTp/jp5UsHM2oZODs1qF4B1Y/YwviH15frg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18873400},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c5a1a67f1d4e7bf29b0e637af6894e3b2a0e35cc","gypfile":true,"private":false,"scripts":{"lint":"eslint .","test":"jest","debug":"npx node-gyp build --debug","install":"node-gyp-build","pretest":"npm run rebuild","rebuild":"node-gyp rebuild","postinstall":"patch-package","prebuildify":"prebuildify --napi --target 20.0.0 --force --strip --verbose","semantic-release":"semantic-release","prebuildify-cross":"prebuildify-cross --napi --target 20.0.0 --force --strip --verbose"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"bindings":"^1.5.0","patch-package":"^8.0.0","node-addon-api":"^8.3.1","node-gyp-build":"^4.8.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","prebuildify":"^6.0.1","@commitlint/cli":"^19.3.0","@types/elliptic":"^6.4.18","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","prebuildify-cross":"^5.1.1","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_1.1.0_1741018481729_0.6770757719460461","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"coap-oscore","version":"1.1.1","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@1.1.1","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"a5d9fe817110b2900fe8f3ff73c643006cedce39","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-1.1.1.tgz","fileCount":678,"integrity":"sha512-+gcLV1hElwhfLMcDiCSNycbKc823Rye7fuFmIQB7iD1bYq53FYQUM4MFNi44C9TevIVHXNvEQjV786xKO162pQ==","signatures":[{"sig":"MEQCIEV5mfj62I1K8MegeQVtjCm8f5scnvTOE10oCiKsXPI3AiAE4JjbmhkCxFsNaPmg5jixihiyDexjbHySJqhaYSaJAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18873759},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"50c131f021e304a763d1598304a3f0808994e32a","gypfile":true,"private":false,"scripts":{"lint":"eslint .","test":"jest","debug":"npx node-gyp build --debug","install":"node-gyp-build","pretest":"npm run rebuild","rebuild":"node-gyp rebuild","postinstall":"patch-package","prebuildify":"prebuildify --napi --target 20.0.0 --force --strip --verbose","semantic-release":"semantic-release","prebuildify-cross":"prebuildify-cross --napi --target 20.0.0 --force --strip --verbose"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"bindings":"^1.5.0","patch-package":"^8.0.0","node-addon-api":"^8.3.1","node-gyp-build":"^4.8.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","prebuildify":"^6.0.1","@commitlint/cli":"^19.3.0","@types/elliptic":"^6.4.18","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","prebuildify-cross":"^5.1.1","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_1.1.1_1741019827362_0.6007047726380845","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"coap-oscore","version":"1.1.2","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@1.1.2","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"6b0880b85e46af8dea392514f5a5f06275137eae","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-1.1.2.tgz","fileCount":678,"integrity":"sha512-6T+uewyU8ux1zK9PEzFmaQg2JkLCTtXd7eUli2kwoq1vdAezepJcJsk6Syz/Zt5GjguWcI61c4tJiNUvuKGcIQ==","signatures":[{"sig":"MEUCIFcjZ/m6RFH5akcB9oTVYNkK3qUi7kozjON27O0qppn6AiEAh3xs62Dmn5W4FPfY/tdOkxymaT6ZXWYM6OFpctq5iLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18873769},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5a82bb11a83815287b88ae952dd7b1617e85af2c","gypfile":true,"private":false,"scripts":{"lint":"eslint .","test":"jest","debug":"npx node-gyp build --debug","install":"node-gyp-build","pretest":"npm run rebuild","rebuild":"node-gyp rebuild","postinstall":"patch-package","prebuildify":"prebuildify --napi --target 20.0.0 --force --strip --verbose","semantic-release":"semantic-release","prebuildify-cross":"prebuildify-cross --napi --target 20.0.0 --force --strip --verbose"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"bindings":"^1.5.0","patch-package":"^8.0.0","node-addon-api":"^8.3.1","node-gyp-build":"^4.8.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","prebuildify":"^6.0.1","@commitlint/cli":"^19.3.0","@types/elliptic":"^6.4.18","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","prebuildify-cross":"^5.1.1","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_1.1.2_1741026749627_0.5202795644710354","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"coap-oscore","version":"1.1.3","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@1.1.3","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"f3b4c1f44648e19fdff9d4d9952751cbe5f2acc3","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-1.1.3.tgz","fileCount":678,"integrity":"sha512-mj3gz+/6l60+G0oxXvbgjVlu4wd2kCxwSN1K2l5gHwBK/UcRyApVeAElXkhpL9+WJ/VmXjuan7u2RcJC9xrRog==","signatures":[{"sig":"MEUCIGRmJNCT5ZTeTzfseCO8g38eSkTwLrDYmp0y6+XSB5nsAiEA9HXR0udVuWHBjvAM0s0kVso0PwpNtk9frWtTeHYz/M0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18873765},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"22c69432fae2969176b1024df92bbb31b0f1b4fa","gypfile":true,"private":false,"scripts":{"lint":"eslint .","test":"jest","debug":"npx node-gyp build --debug","install":"node-gyp-build","prepare":"patch-package","pretest":"npm run rebuild","rebuild":"node-gyp rebuild","prebuildify":"prebuildify --napi --target 20.0.0 --force --strip --verbose","semantic-release":"semantic-release","prebuildify-cross":"prebuildify-cross --napi --target 20.0.0 --force --strip --verbose"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"bindings":"^1.5.0","node-addon-api":"^8.3.1","node-gyp-build":"^4.8.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","prebuildify":"^6.0.1","patch-package":"^8.0.0","@commitlint/cli":"^19.3.0","@types/elliptic":"^6.4.18","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","prebuildify-cross":"^5.1.1","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_1.1.3_1741028267241_0.8099412003445214","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"coap-oscore","version":"1.1.4","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@1.1.4","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"9bd6c5ef89c8853c0608cc96a0d9fdbf3d313fe2","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-1.1.4.tgz","fileCount":678,"integrity":"sha512-SPOU6bwMvtOVGaoDgydFt0m16pQYIlRaEboFFGtmcAA4HvNGMUlVP4wQfKfNSwDEC7DU6BQMIkDQBd5sLlfHiw==","signatures":[{"sig":"MEUCIBksHPPevnEfvVQf+3I4+LMAhvQmecZhkq4zxWDM79sKAiEA131ED3R665n7DCr9hM+slACChEuvtZAXakTqcwT/BDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18957699},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a265ff56e89210807ea4844f6ce218fa50cb1eba","gypfile":true,"private":false,"scripts":{"lint":"eslint .","test":"jest","debug":"npx node-gyp build --debug","install":"node-gyp-build","prepare":"patch-package","pretest":"npm run rebuild","rebuild":"node-gyp rebuild","prebuildify":"prebuildify --napi --target 20.0.0 --force --strip --verbose","semantic-release":"semantic-release","prebuildify-cross":"prebuildify-cross --napi --target 20.0.0 --force --strip --verbose"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"bindings":"^1.5.0","node-addon-api":"^8.3.1","node-gyp-build":"^4.8.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","prebuildify":"^6.0.1","patch-package":"^8.0.0","@commitlint/cli":"^19.3.0","@types/elliptic":"^6.4.18","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","prebuildify-cross":"^5.1.1","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_1.1.4_1761921242480_0.8530084300182914","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"coap-oscore","version":"1.2.0","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@1.2.0","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"ce5d4fd10abe9598dbf4459fbecf9f754def2df5","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-1.2.0.tgz","fileCount":28,"integrity":"sha512-wxWQuEeLmkKe7knnAqRlyusOnslXiEsWz1ZBbmqRg/FI1+L/0AR6FVlau8YgVmUrJEe5DsoOjEsxWRsFHCQ6CQ==","signatures":[{"sig":"MEYCIQDoOes9YFe/B8PynVs7OgwhO3iuiSIlMUIJTmoUpDPXTwIhAIZPz7ghv6grQcOc1oys+mSDt8GLX6GWgjIqCer5FaJU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71240},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a0c21515a29ac1f3a8dbc892ecc27b85ebc465c9","private":false,"scripts":{"lint":"eslint .","test":"jest","build":"tsc","pretest":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cbor":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","coap-packet":"^1.1.1","@commitlint/cli":"^19.3.0","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_1.2.0_1769711942087_0.1576025396398517","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"coap-oscore","version":"2.0.0","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@2.0.0","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"d45f51ad74ac6e4216845eebc56db89cd097aca8","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-2.0.0.tgz","fileCount":28,"integrity":"sha512-Cvz6DJE5KrQ3d1fchW7afsO/a7HkvjECJ4EGC0ZhwHsn8lG3p4PC/kq/VYzvlZ76da3PYAefnsJ4TZY/mYs6xA==","signatures":[{"sig":"MEYCIQCFQLEQmDKbxGF3beNnWjXkvg8xJmO2f76jz+PQM35IpwIhANAhvJZhjU2zUyw2lC1BPecB/z7BXJBmLDAAuozFcTEJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70819},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1697e86c23f3af5ea88ab7c35b3dc3be80a8238a","private":false,"scripts":{"lint":"eslint .","test":"jest","build":"tsc","pretest":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cbor":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","coap-packet":"^1.1.1","@commitlint/cli":"^19.3.0","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_2.0.0_1769757995054_0.051888445023856145","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"coap-oscore","version":"2.1.0","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@2.1.0","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"723782e477aeed44383c954b2b7b81c2365fff73","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-2.1.0.tgz","fileCount":28,"integrity":"sha512-aL/J93YC7G650iGNavjxc7aTKIxd2RlNyGt/8OAFZg57VKotk7i1AEL2flpf9DAJ3hk2k7Y+j2b7cTi7dFugZw==","signatures":[{"sig":"MEYCIQCs5kJkBVlsfz049A4UBZUSviJ8BqPnfYMuF801H0ItqAIhANhyJAuiKuacNagkMXF86l9xoa/YV1FP1rL+xIWXGoEc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71803},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"41afadf7e5b9400b763596178e93b4ff9e201d35","private":false,"scripts":{"lint":"eslint .","test":"jest","build":"tsc","pretest":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cbor":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","coap-packet":"^1.1.1","@commitlint/cli":"^19.3.0","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_2.1.0_1769759090306_0.7715240763340441","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"coap-oscore","version":"2.1.1","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@2.1.1","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"c470226740f49930d09d3cd157384b6a02995451","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-2.1.1.tgz","fileCount":28,"integrity":"sha512-9POs2DMuJKTGCuQZi9CjNajbHDoL9barzIp5Jlk+7/AKW7iGKL6EwqneJOdOLdlk6TnqpnqwEpdJz5OPjdTguA==","signatures":[{"sig":"MEQCIFHO2pCmf//FUssMJluz9YPSZIpBkZ0m2nkEwpO30Y29AiAyy7xJPSANmTA2wJEapKs2qTbGaU+uznUYkiQK1OyoKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85131},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"dd7c9bb0575ce3ab8b85457a3755186afea7e34c","private":false,"scripts":{"lint":"eslint .","test":"jest","build":"tsc","pretest":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cbor":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","coap-packet":"^1.1.1","@commitlint/cli":"^19.3.0","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_2.1.1_1770895555477_0.1953826342818179","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"coap-oscore","version":"2.2.0","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@2.2.0","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"3369d40738bdc71443a6d3b391791d88e01b7201","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-2.2.0.tgz","fileCount":28,"integrity":"sha512-7KOJA1aHwT+VU1bOKEz3tLwnKMtslwXr58RgL5zbBmJnl5J2B5PFYMKEfRqn1MCZeqoSCcIh0Sjj3CDKbZj85g==","signatures":[{"sig":"MEQCIHTHPQGWCnpCEPFXE1OkPIxUoVu74iFoiHUWvMA8Bqa2AiBtwIlTK4HXIJZbA+1NE6ttLL70P5IjpnwQlIO52QqvNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91976},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9a74ba78f627065efa2912763d083e8d37f2f4a3","private":false,"scripts":{"lint":"eslint .","test":"jest","build":"tsc","pretest":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cbor":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","coap-packet":"^1.1.1","@commitlint/cli":"^19.3.0","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_2.2.0_1771000175148_0.7113809546395253","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"coap-oscore","version":"2.2.1","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@2.2.1","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"6c59a50154f2c8e7f4608d031fc942cd934ef3f8","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-2.2.1.tgz","fileCount":28,"integrity":"sha512-B0PueNP1a4XFuB31cqEICy3tVhoNW4S4keAYsz067vyVEGviuKv9ege7JCCqCOHn0U5OUNU4gqtT6Izq8jbqUA==","signatures":[{"sig":"MEUCIQD05YwDr2ao7lFyCwc3qZVpFkAZyc1z4+UF2rbovuafxwIgJorOmb/zFRsxZ/Kfpv5YFqa66eSbnN0ExclVWWupLp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97751},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4305e8822086e5abbcfb8c022012f04bc6a2d0ad","private":false,"scripts":{"lint":"eslint .","test":"jest","build":"tsc","pretest":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cbor":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","coap-packet":"^1.1.1","@commitlint/cli":"^19.3.0","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_2.2.1_1771190237695_0.9205211741441681","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"coap-oscore","version":"2.2.2","keywords":["oscore","coap","iot","security"],"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","_id":"coap-oscore@2.2.2","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"homepage":"https://github.com/stoprocent/node-coap-oscore","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"dist":{"shasum":"0e7e4fc3fc4991508b7cf55fc8f100723919d157","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-2.2.2.tgz","fileCount":28,"integrity":"sha512-gMF6n1L+rpeLumSdwmVQVlbcIQaF6qYe3/eqq9SDyLnxWdP/T+SgkydXR4bZQUrT00Xj5OHP8DFyK9I5XGDrKQ==","signatures":[{"sig":"MEUCIGr8nmRt6Rnj8OgO7SUWTwh13Ba0QXnPSBtSfdnQ5Cd3AiEAgN75W8bUDmlh+FV7JR89WzztR6vOf0kF5K9zwntYrNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105038},"jest":{"preset":"ts-jest","testEnvironment":"node"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"574e477c3127c9fac00924655cc908e55e17d3f7","private":false,"scripts":{"lint":"eslint .","test":"jest","build":"tsc","pretest":"npm run build","semantic-release":"semantic-release"},"_npmUser":{"name":"stoprocent","email":"marek@snowheads.pl"},"repository":{"url":"git+https://github.com/stoprocent/node-coap-oscore.git","type":"git"},"_npmVersion":"10.9.2","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cbor":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.2.5","@eslint/js":"^9.7.0","typescript":"^5.5.4","@types/node":"^22.13.4","coap-packet":"^1.1.1","@commitlint/cli":"^19.3.0","semantic-release":"^24.0.0","@types/eslint__js":"^8.42.3","typescript-eslint":"^7.17.0","@semantic-release/git":"^10.0.1","@semantic-release/exec":"^6.0.3","@semantic-release/github":"^10.1.1","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^19.2.2"},"_npmOperationalInternal":{"tmp":"tmp/coap-oscore_2.2.2_1771962294553_0.7243003215532446","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"coap-oscore","description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","version":"2.2.3","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Marek Serafin","email":"marek@serafin.email"},"repository":{"type":"git","url":"git+https://github.com/stoprocent/node-coap-oscore.git"},"homepage":"https://github.com/stoprocent/node-coap-oscore","keywords":["oscore","coap","iot","security"],"scripts":{"build":"tsc","lint":"eslint .","semantic-release":"semantic-release","pretest":"npm run build","test":"jest"},"private":false,"license":"MIT","dependencies":{"cbor":"^9.0.2"},"devDependencies":{"@commitlint/cli":"^19.3.0","@commitlint/config-conventional":"^19.2.2","@eslint/js":"^9.7.0","@semantic-release/changelog":"^6.0.3","@semantic-release/exec":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.0","@types/eslint__js":"^8.42.3","@types/node":"^22.13.4","coap-packet":"^1.1.1","eslint":"^8.57.0","jest":"^29.7.0","semantic-release":"^25.0.3","ts-jest":"^29.2.5","typescript":"^5.5.4","typescript-eslint":"^7.17.0"},"jest":{"preset":"ts-jest","testEnvironment":"node"},"gitHead":"6b044873785f669a4a07fd2f2492c31b76a819b0","_id":"coap-oscore@2.2.3","bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"_nodeVersion":"24.16.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-uF592/QIDgxbwhvAHCiWJat0xIoWsc8K7ubzYK1jXM4ihe50sHLAM7pl361NzZXLOMkkYnHCBSq07DA56OIs/A==","shasum":"480fe891c71d36f5b0c5fdac0f6d10e46c3e6d0c","tarball":"https://registry.npmjs.org/coap-oscore/-/coap-oscore-2.2.3.tgz","fileCount":28,"unpackedSize":105499,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/coap-oscore@2.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDLUM466jksxwvABA+JjvAvDiPiEWW/Uqn4HVxWQOhW2AiBqwZ6bAbnbRYsTpYZ5uLpFSu2JPbFuXkIvSRtYwsSKaA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9fb75a1a-c27e-4f34-b57f-acdddbd1d18a"}},"directories":{},"maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/coap-oscore_2.2.3_1780336970658_0.690565052655757"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-03T16:14:41.728Z","modified":"2026-06-01T18:02:51.070Z","1.1.0":"2025-03-03T16:14:42.087Z","1.1.1":"2025-03-03T16:37:07.691Z","1.1.2":"2025-03-03T18:32:29.934Z","1.1.3":"2025-03-03T18:57:47.600Z","1.1.4":"2025-10-31T14:34:02.810Z","1.2.0":"2026-01-29T18:39:02.225Z","2.0.0":"2026-01-30T07:26:35.200Z","2.1.0":"2026-01-30T07:44:50.454Z","2.1.1":"2026-02-12T11:25:55.633Z","2.2.0":"2026-02-13T16:29:35.301Z","2.2.1":"2026-02-15T21:17:17.856Z","2.2.2":"2026-02-24T19:44:54.713Z","2.2.3":"2026-06-01T18:02:50.807Z"},"bugs":{"url":"https://github.com/stoprocent/node-coap-oscore/issues"},"author":{"name":"Marek Serafin","email":"marek@serafin.email"},"license":"MIT","homepage":"https://github.com/stoprocent/node-coap-oscore","keywords":["oscore","coap","iot","security"],"repository":{"type":"git","url":"git+https://github.com/stoprocent/node-coap-oscore.git"},"description":"A Node.js implementation of OSCORE (Object Security for Constrained RESTful Environments) protocol, providing end-to-end security for IoT applications and other constrained environments using CBOR Object Signing and Encryption.","maintainers":[{"name":"stoprocent","email":"marek@snowheads.pl"}],"readme":"# OSCORE for Node.js\n\n[![npm version](https://img.shields.io/npm/v/coap-oscore.svg)](https://www.npmjs.com/package/coap-oscore)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\nA high-performance TypeScript implementation of Object Security for Constrained RESTful Environments (OSCORE) for Node.js providing standards-compliant implementation of [RFC 8613](https://datatracker.ietf.org/doc/rfc8613/).\n\n## Features\n\n- End-to-end security for CoAP messages\n- Efficient implementation as a native Node.js addon\n- Full TypeScript support with comprehensive type definitions\n- Secure communication with IoT and constrained devices\n- Event-based sequence number tracking for robust state management\n\n## Installation\n\n```bash\nnpm install coap-oscore\n```\n\n## Usage\n\n### Basic Client Example\n\n```typescript\nimport { OSCORE, OscoreContextStatus } from 'coap-oscore';\n\n// Create OSCORE security context\nconst context = {\n  masterSecret: Buffer.from('0102030405060708090a0b0c0d0e0f10', 'hex'),\n  masterSalt: Buffer.from('9e7ca92223786340', 'hex'),\n  senderId: Buffer.from('01', 'hex'),\n  recipientId: Buffer.from('02', 'hex'),\n  idContext: Buffer.from('37cbf3210017a2d3', 'hex'), // Use Buffer.alloc(0) if not needed\n  status: OscoreContextStatus.Fresh,\n  ssn: 0n\n};\n\n// Initialize OSCORE instance\nconst client = new OSCORE(context);\n\n// Track sequence number changes for persistence\nclient.on('ssn', (ssn: bigint) => {\n  console.log('New SSN:', ssn);\n  // Persist SSN to maintain security across restarts\n});\n\n// Protect a CoAP message with OSCORE\nasync function sendSecureMessage(coapMessage: Buffer) {\n  try {\n    const oscoreMessage = await client.encode(coapMessage);\n    // Send the protected message\n    return oscoreMessage;\n  } catch (error) {\n    console.error('OSCORE encoding failed:', error);\n    throw error;\n  }\n}\n```\n\n### Basic Server Example\n\n```typescript\nimport { OSCORE, OscoreContextStatus } from 'coap-oscore';\n\n// Server-side OSCORE context\nconst serverContext = {\n  masterSecret: Buffer.from('0102030405060708090a0b0c0d0e0f10', 'hex'),\n  masterSalt: Buffer.from('9e7ca92223786340', 'hex'),\n  senderId: Buffer.from('02', 'hex'),      // Note: reversed compared to client\n  recipientId: Buffer.from('01', 'hex'),   // Note: reversed compared to client\n  idContext: Buffer.from('37cbf3210017a2d3', 'hex'),\n  status: OscoreContextStatus.Fresh\n};\n\nconst server = new OSCORE(serverContext);\n\n// Process an incoming OSCORE-protected message\nasync function handleSecureMessage(oscoreMessage: Buffer) {\n  try {\n    // Decode the OSCORE message back to CoAP\n    const coapMessage = await server.decode(oscoreMessage);\n    // Process the verified and decrypted CoAP message\n    return coapMessage;\n  } catch (error) {\n    console.error('OSCORE decoding failed:', error);\n    throw error;\n  }\n}\n```\n\n## Persistence and Replay Protection\n\nWhen working with the same OSCORE context across application restarts, two important mechanisms must be implemented:\n\n### 1. Sender Sequence Number (SSN) Persistence\n\nYou must persist and restore the Sender Sequence Number (SSN) to prevent nonce reuse:\n\n```typescript\n// Before application shutdown\nconst currentSsn = getCurrentSsn(); // From your SSN event handler\nsaveToStorage('oscore_ssn', currentSsn.toString());\n\n// On application startup\nconst savedSsn = loadFromStorage('oscore_ssn');\nconst context = {\n  // ... other parameters\n  status: OscoreContextStatus.Restored,\n  ssn: BigInt(savedSsn)\n};\n```\n### 2. Echo Option for Replay Protection\n\nPer [RFC 8613 Appendix B.1.2](https://www.rfc-editor.org/rfc/rfc8613.html#appendix-B.1.2), servers **must** implement the Echo option ([RFC 9175](https://www.rfc-editor.org/rfc/rfc9175.html)) to prevent replay attacks when using restored contexts.\n\nServer implementation example:\n\n```typescript\nimport { OSCORE, OscoreContextStatus, OscoreError } from 'coap-oscore';\n// Assumes a CoAP library\n\nasync function handleSecureRequest(oscoreMessage, clientAddress) {\n  try {\n    const coapMessage = await server.decode(oscoreMessage);\n    // If we reach here, the message was successfully verified and decrypted\n    \n    // Process the valid request...\n    // processRequest(coapMessage);\n  }\n  catch (error) {\n    // Check if this is a replay protection error\n    if (error && error.status === OscoreError.FIRST_REQUEST_AFTER_REBOOT) {\n        \n      // Build a response that includes ECHO option ...\n      // const response = ...\n        \n      // Return OSCORE-protected response with Echo challenge\n      return await server.encode(response);\n    }\n  }\n}\n\n// Client implementation would need to handle 4.01 responses with Echo option\n// by including the Echo value in subsequent requests\n```\n\nThe library automatically handles the replay detection mechanism and will throw an error with `status: 201` when a replay-protected context requires the Echo option verification. This makes it easy to implement the Echo option protocol as specified in the RFC.\n\n## API Reference\n\n### Classes\n\n- `OSCORE` - Main class for OSCORE operations\n\n### Interfaces\n\n- `OscoreContext` - Configuration for OSCORE security contexts\n\n### Enums\n\n- `OscoreContextStatus` - Indicates whether a context is newly created or restored\n\n### Errors\n\n- `OscoreError` - Enum containing error codes for OSCORE operations, including general errors (0-99) and OSCORE-specific errors (200+)\n\nFor complete API documentation, see our [TypeScript API Docs](#).\n\n## Security Considerations\n\n- Always persist and restore the SSN to prevent nonce reuse\n- Protect master secrets appropriately for your environment\n- Use cryptographically secure methods to generate key material\n- Monitor the 'ssn' event to track sequence number exhaustion\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## Acknowledgments\n\nThis implementation follows the OSCORE specification as defined in [RFC 8613](https://datatracker.ietf.org/doc/rfc8613/). Special thanks to the developers of [`uoscore-uedhoc`](https://github.com/eriptic/uoscore-uedhoc) for their foundational work.","readmeFilename":"README.md"}