{"_id":"@reclaimprotocol/tls","_rev":"29-f14af0d0bc6f7b83c3bbe040da764272","name":"@reclaimprotocol/tls","dist-tags":{"latest":"0.1.4"},"versions":{"0.0.1":{"name":"@reclaimprotocol/tls","version":"0.0.1","keywords":[],"author":{"name":"Adhiraj Singh"},"license":"ISC","_id":"@reclaimprotocol/tls@0.0.1","maintainers":[{"name":"reclaimprotocol","email":"engineering@creatoros.co"}],"dist":{"shasum":"a6f013feef59ef31a1a12b905e12b6edef187e20","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.0.1.tgz","fileCount":52,"integrity":"sha512-d5bgu1LtsAlRzGZMT+xi+oLsmcdVRSe7bpOgy2NEh4n2A0N+iDaa7kUy2PTUx8Rw+xFBaHNJI+aX91B/+G2ZUQ==","signatures":[{"sig":"MEUCIQC1d7DSG2P9rR1NlXsleh8gzz4YWU5C/YnCGFDmnCG8+QIgCH+wJqdX09+QoUEchB91NEL/KfWzXWWGDfjYk6MngKE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330651},"main":"lib/index","types":"./lib/index.d.ts","gitHead":"414a2038c624c2221cf186d5a589c6da69b25507","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","test":"jest","build":"npm exec tsc","prepare":"npm run build","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx"},"_npmUser":{"name":"reclaimprotocol","email":"engineering@creatoros.co"},"_npmVersion":"8.19.3","description":"WebCrypto Based Cross Platform TLS","directories":{},"_nodeVersion":"18.13.0","dependencies":{"@peculiar/x509":"^1.9.5","@stablelib/chacha20poly1305":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","chance":"^1.1.11","eslint":"^8.47.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^4.9.5","@types/jest":"^29.5.4","@types/node":"^18.0.0","@types/chance":"^1.1.3","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.0.1_1695128891417_0.37983285950586176","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@reclaimprotocol/tls","version":"0.0.2","keywords":[],"author":{"name":"Adhiraj Singh"},"license":"ISC","_id":"@reclaimprotocol/tls@0.0.2","maintainers":[{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"scottbrown","email":"scott@creatoros.co"},{"name":"kushal-shah","email":"kushal@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"ali0002","email":"ali@creatoros.co"}],"dist":{"shasum":"0d22bc2332b97c75ae6ddebe32c69201a7a23374","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.0.2.tgz","fileCount":62,"integrity":"sha512-EvJtjj4rsis3LIgoUavZ6VxNxrAQ9EyCNeLq8qLyBlcCCmhh0O+vnFvDg0psDWaCW4gaF6YmYwuO3L9T3VVmPw==","signatures":[{"sig":"MEUCIQCOMvthpkmp1d8ppvX2uSdeK+zCcN1eB/NxRYhMCBs7wwIgKPM0+jOvdXtnSWI1tFSHyd9/8h28b/v/NtkZSZ7I01I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":383455},"main":"lib/index","types":"./lib/index.d.ts","gitHead":"1a2e59c0e4d904afe1da7e20900a6a27e6a6d66c","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","test":"jest","build":"npm exec tsc","prepare":"npm run build","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx"},"_npmUser":{"name":"alex.e","email":"alex@creatoros.co"},"_npmVersion":"10.7.0","description":"WebCrypto Based Cross Platform TLS","directories":{},"_nodeVersion":"22.2.0","dependencies":{"@peculiar/x509":"^1.9.5","@peculiar/asn1-ecc":"^2.3.8","@peculiar/asn1-schema":"^2.3.8","@stablelib/chacha20poly1305":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","pino":"^8.16.1","chance":"^1.1.11","eslint":"^8.52.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"^4.9.5","@types/jest":"^29.5.6","@types/node":"^20.0.0","@types/chance":"^1.1.5","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.0.2_1721222268258_0.1682848998030284","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@reclaimprotocol/tls","version":"0.0.4","keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","_id":"@reclaimprotocol/tls@0.0.4","maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"kushal-shah","email":"kushal@reclaimprotocol.org"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"}],"homepage":"https://github.com/reclaimprotocol/tls/","bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"dist":{"shasum":"f9199dc045c8412bbf9c45767d0a0c87f115e423","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.0.4.tgz","fileCount":66,"integrity":"sha512-wyCGn0snJscqqbDdzPp8hOBhuow6f94WqZhnEWyG4ROrZmybpd6KF05vNf8EagJQkzRlhNql3iSq/+7aX65BXg==","signatures":[{"sig":"MEQCICd5zDR/cAnA4BhxzORnfgABfp9z1S8UcLP0e3Q3phtyAiBu/0M2T5rr2c1/7/HljzwexDyUFc83OZXVlNlCUHme+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":436696},"main":"lib/index","types":"./lib/index.d.ts","gitHead":"e21fa1596ee7f4f57499d304034298621cb4e26b","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","test":"jest","build":"npm exec tsc","prepare":"npm run build","run:tsc":"SWC_NODE_IGNORE_DYNAMIC=true node -r @swc-node/register","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx","commitlint":"commitlint --edit","update:root-ca":"npm run run:tsc -- src/scripts/update-ca-certs.ts"},"_npmUser":{"name":"alex.e","actor":{"name":"alex.e","type":"user","email":"alex@creatoros.co"},"email":"alex@creatoros.co"},"_npmVersion":"10.9.2","description":"WebCrypto Based Cross Platform TLS","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@peculiar/x509":"^1.12.3","@peculiar/asn1-ecc":"^2.3.14","@peculiar/asn1-schema":"^2.3.13","@stablelib/chacha20poly1305":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","pino":"^9.5.0","chance":"^1.1.12","eslint":"^8.57.1","ts-jest":"^29.2.5","ts-node":"^10.9.2","csv-parse":"^5.6.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^20.17.9","@types/chance":"^1.1.6","@commitlint/cli":"^17.8.1","@swc-node/register":"^1.10.9","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@commitlint/config-conventional":"^17.8.1","@typescript-eslint/eslint-plugin":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.0.4_1752148827517_0.9444472970915587","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@reclaimprotocol/tls","version":"0.0.6","keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","_id":"@reclaimprotocol/tls@0.0.6","maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"kushal-shah","email":"kushal@reclaimprotocol.org"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"}],"homepage":"https://github.com/reclaimprotocol/tls/","bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"dist":{"shasum":"7d94c84a8b74fa2dd23c3cb8d2afbed49598c5ce","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.0.6.tgz","fileCount":64,"integrity":"sha512-R2C24/JgFvc7oaa075Fpb4Wq26459hhxfS28lFCl03MvTYedFY6Q7H8ucckVRml6VWwjJ7P1q3iOwJuaRT0MNA==","signatures":[{"sig":"MEUCIQCqoHIuruqFgRr5sxZUpbCCUW66jnLW9tad1wlGoB5uCgIgAVreqL1SXP3/GuXPMYBtji1dgwc/QRN76pF5VLSiFPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450307},"main":"lib/index","types":"./lib/index.d.ts","gitHead":"fb5cf5e06f6342ac1f906ce2b3ded3c65057bf2b","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","test":"jest","build":"npm exec tsc","prepare":"npm run build","run:tsc":"SWC_NODE_IGNORE_DYNAMIC=true node -r @swc-node/register","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx","commitlint":"commitlint --edit","update:root-ca":"npm run run:tsc -- src/scripts/update-ca-certs.ts"},"_npmUser":{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},"_npmVersion":"11.4.2","description":"WebCrypto Based Cross Platform TLS","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@peculiar/x509":"^1.12.3","@peculiar/asn1-ecc":"^2.3.14","@peculiar/asn1-schema":"^2.3.13","@stablelib/chacha20poly1305":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","pino":"^9.5.0","chance":"^1.1.12","eslint":"^8.57.1","ts-jest":"^29.2.5","ts-node":"^10.9.2","csv-parse":"^5.6.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^20.17.9","@types/chance":"^1.1.6","@commitlint/cli":"^17.8.1","@swc-node/register":"^1.10.9","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@commitlint/config-conventional":"^17.8.1","@typescript-eslint/eslint-plugin":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.0.6_1753334765197_0.1573756188866995","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@reclaimprotocol/tls","version":"0.0.8","keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","_id":"@reclaimprotocol/tls@0.0.8","maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"kushal-shah","email":"kushal@reclaimprotocol.org"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"}],"homepage":"https://github.com/reclaimprotocol/tls/","bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"dist":{"shasum":"629750b7a467d50ace6bb6b8dc49d0d6f1e543c9","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.0.8.tgz","fileCount":64,"integrity":"sha512-AE2zl2u9Euc4VT5Hr5QWm+MKVGlDgJP9DSHPnEkZTgyUHWOdvbCDJ/eZcP0WNdqcF/Y2fTSC1c5YeTT24PgqXQ==","signatures":[{"sig":"MEYCIQD4Dxd34U10PSVniEP+Xz5EoGMGsTxc1laZoccc8RQdwgIhAKlfHJvlanBeO1dRoZXoFMWRVl2X0W8i6WvbzZvJAJud","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446108},"main":"lib/index","types":"./lib/index.d.ts","gitHead":"87a7f6e68ab8b2c09420a285d41ecdf3c68c81d5","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","test":"jest","build":"npm exec tsc","prepare":"npm run build","run:tsc":"SWC_NODE_IGNORE_DYNAMIC=true node -r @swc-node/register","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx","commitlint":"commitlint --edit","update:root-ca":"npm run run:tsc -- src/scripts/update-ca-certs.ts"},"_npmUser":{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},"_npmVersion":"11.4.2","description":"WebCrypto Based Cross Platform TLS","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@peculiar/x509":"^1.12.3","@peculiar/asn1-ecc":"^2.3.14","@peculiar/asn1-schema":"^2.3.13","@stablelib/chacha20poly1305":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","pino":"^9.5.0","chance":"^1.1.12","eslint":"^8.57.1","ts-jest":"^29.2.5","ts-node":"^10.9.2","csv-parse":"^5.6.0","typescript":"^4.9.5","@types/jest":"^29.5.14","@types/node":"^20.17.9","@types/chance":"^1.1.6","@commitlint/cli":"^17.8.1","@swc-node/register":"^1.10.9","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@commitlint/config-conventional":"^17.8.1","@typescript-eslint/eslint-plugin":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.0.8_1754025318513_0.8191348068666511","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@reclaimprotocol/tls","version":"0.1.0","keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","_id":"@reclaimprotocol/tls@0.1.0","maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"kushal-shah","email":"kushal@reclaimprotocol.org"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"}],"homepage":"https://github.com/reclaimprotocol/tls/","bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"dist":{"shasum":"74dcb1813021f5d957c9ed1bc6a5b4e839a6c9b8","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.1.0.tgz","fileCount":80,"integrity":"sha512-UAoOPaNMv1rNX44+MXRjrimYPUdX2ofi2uGkYDddpKNywL+fC/LiGVO5FvRvVJXpcrDduekid3uLIOM7tyfvEA==","signatures":[{"sig":"MEYCIQCwGeZbsslwNYdJMehwmODcVQzR2EyMmLuiDnnIJiJRDQIhAOsSGLPQnoc6TajHTERzQVYew9p2VqWTyuIPt0E+hQJV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":459179},"type":"module","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./webcrypto":{"types":"./lib/crypto/webcrypto.d.ts","default":"./lib/crypto/webcrypto.js"},"./purejs-crypto":{"types":"./lib/crypto/purejs.d.ts","default":"./lib/crypto/purejs.js"}},"gitHead":"7c90eb28230acc1dca9445e57f28a1bf5898cb73","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","build":"npm exec tsc -- -p tsconfig.build.json","prepare":"npm run build","run:tsc":"node --experimental-strip-types","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx","build:jsc":"npm run run:tsc src/scripts/build-jsc.ts","handshake":"npm run run:tsc -- --import=./src/tests/load-purejs-crypto.ts ./src/scripts/handshake.ts","commitlint":"commitlint --edit","test:pure-js":"npm run run:tsc -- --import=./src/tests/load-purejs-crypto.ts --test","test:webcrypto":"npm run run:tsc -- --import=./src/tests/load-webcrypto.ts --test","update:root-ca":"npm run run:tsc -- src/scripts/update-ca-certs.ts"},"_npmUser":{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},"_npmVersion":"11.4.2","description":"WebCrypto Based Cross Platform TLS","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@noble/curves":"^1.9.6","@noble/hashes":"^1.8.0","@noble/ciphers":"^1.3.0","@peculiar/x509":"^1.12.3","micro-rsa-dsa-dh":"^0.1.0","@peculiar/asn1-ecc":"^2.3.14","@peculiar/asn1-schema":"^2.3.13"},"_hasShrinkwrap":false,"devDependencies":{"pino":"^9.5.0","chance":"^1.1.12","eslint":"^8.57.1","esbuild":"^0.25.8","csv-parse":"^5.6.0","typescript":"^5.0.0","@types/node":"^22.0.0","@types/chance":"^1.1.6","@commitlint/cli":"^17.8.1","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@commitlint/config-conventional":"^17.8.1","@typescript-eslint/eslint-plugin":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.1.0_1754311126448_0.5593842970103702","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@reclaimprotocol/tls","version":"0.1.2","keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","_id":"@reclaimprotocol/tls@0.1.2","maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"kushal-shah","email":"kushal@reclaimprotocol.org"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"},{"name":"sajjad21990","email":"sajjadhaider21990@gmail.com"}],"homepage":"https://github.com/reclaimprotocol/tls/","bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"dist":{"shasum":"b6670db4179f5488cb9e7e86cf3a4ef5659aaec9","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.1.2.tgz","fileCount":80,"integrity":"sha512-B85Gx2P+3jhkUKyVaRJLmY25QrI07Pg1dtnJABT+gcvk3bzHba0t/1BkKTKpO0+dFjSe9IdIr5tedelry/szcw==","signatures":[{"sig":"MEUCIQCdylUN1uMWEkCvgqBBndZXR3B04ZlJA86GiH3JrLGbogIgCDAg+0c5gS16Gr1KVeH4wrC7jkvqofiqm9Wyg2Sj2jY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464196},"type":"module","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./webcrypto":{"types":"./lib/crypto/webcrypto.d.ts","default":"./lib/crypto/webcrypto.js"},"./purejs-crypto":{"types":"./lib/crypto/pure-js.d.ts","default":"./lib/crypto/pure-js.js"}},"gitHead":"383e1d900739336470ed867f49edb386b2b89615","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","build":"npm exec tsc -- -p tsconfig.build.json","prepare":"npm run build","run:tsc":"node --experimental-strip-types","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx","build:jsc":"npm run run:tsc src/scripts/build-jsc.ts","handshake":"npm run run:tsc -- --import=./src/tests/load-webcrypto.ts ./src/scripts/handshake.ts","commitlint":"commitlint --edit","test:pure-js":"npm run run:tsc -- --import=./src/tests/load-purejs-crypto.ts --test","test:webcrypto":"npm run run:tsc -- --import=./src/tests/load-webcrypto.ts --test","update:root-ca":"npm run run:tsc -- src/scripts/update-ca-certs.ts"},"_npmUser":{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},"_npmVersion":"11.4.2","description":"TLS 1.2/1.3 for any JavaScript Environment","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@noble/curves":"^1.9.6","@noble/hashes":"^1.8.0","@noble/ciphers":"^1.3.0","@peculiar/x509":"^1.12.3","micro-rsa-dsa-dh":"^0.1.0","@peculiar/asn1-ecc":"^2.3.14","@peculiar/asn1-schema":"^2.3.13"},"_hasShrinkwrap":false,"devDependencies":{"pino":"^9.5.0","chance":"^1.1.12","eslint":"^8.57.1","esbuild":"^0.25.8","csv-parse":"^5.6.0","typescript":"^5.0.0","@types/node":"^22.0.0","@types/chance":"^1.1.6","@commitlint/cli":"^17.8.1","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@commitlint/config-conventional":"^17.8.1","@typescript-eslint/eslint-plugin":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.1.2_1765167762299_0.5034733081440708","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@reclaimprotocol/tls","version":"0.1.3","keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","_id":"@reclaimprotocol/tls@0.1.3","maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"sriharshakaramchati","email":"leo.harsha93@gmail.com"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"},{"name":"sajjad21990","email":"sajjadhaider21990@gmail.com"}],"homepage":"https://github.com/reclaimprotocol/tls/","bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"dist":{"shasum":"f15d90f5a1502dc6646f40b6f3e23b95e40fe718","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.1.3.tgz","fileCount":80,"integrity":"sha512-mBDqygz5FAsH8OGaZUGb5HEoP4hGSVT8WL6YOk50gzmiFsLYRTf2928FOEpQOKlG3kXK+PDy0vJbFDQPw0l5Ag==","signatures":[{"sig":"MEQCIGrGgovw1qD8GkqqMq/IO52GahYZzLDyJmEQggVCSjj4AiBBgLlhTbXN2yc9MPJmrTrfH+LhMWOdu8sfp7khKZ7V8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464762},"type":"module","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./webcrypto":{"types":"./lib/crypto/webcrypto.d.ts","default":"./lib/crypto/webcrypto.js"},"./purejs-crypto":{"types":"./lib/crypto/pure-js.d.ts","default":"./lib/crypto/pure-js.js"}},"gitHead":"c41fb4a02c8ae2da47112c5f25036ea9a2f2b983","scripts":{"lint":"eslint . --ext .js,.ts,.jsx,.tsx","build":"npm exec tsc -- -p tsconfig.build.json","prepare":"npm run build","run:tsc":"node --experimental-strip-types","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx","build:jsc":"npm run run:tsc src/scripts/build-jsc.ts","handshake":"npm run run:tsc -- --import=./src/tests/load-webcrypto.ts ./src/scripts/handshake.ts","commitlint":"commitlint --edit","test:pure-js":"npm run run:tsc -- --import=./src/tests/load-purejs-crypto.ts --test","test:webcrypto":"npm run run:tsc -- --import=./src/tests/load-webcrypto.ts --test","update:root-ca":"npm run run:tsc -- src/scripts/update-ca-certs.ts"},"_npmUser":{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},"_npmVersion":"11.13.0","description":"TLS 1.2/1.3 for any JavaScript Environment","directories":{},"_nodeVersion":"26.1.0","dependencies":{"@noble/curves":"^1.9.6","@noble/hashes":"^1.8.0","@noble/ciphers":"^1.3.0","@peculiar/x509":"^1.12.3","micro-rsa-dsa-dh":"^0.1.0","@peculiar/asn1-ecc":"^2.3.14","@peculiar/asn1-schema":"^2.3.13"},"_hasShrinkwrap":false,"devDependencies":{"pino":"^9.5.0","chance":"^1.1.12","eslint":"^8.57.1","esbuild":"^0.25.8","csv-parse":"^5.6.0","typescript":"^5.0.0","@types/node":"^22.0.0","@types/chance":"^1.1.6","@commitlint/cli":"^17.8.1","@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@commitlint/config-conventional":"^17.8.1","@typescript-eslint/eslint-plugin":"^8.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tls_0.1.3_1780813649147_0.9054727999055836","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@reclaimprotocol/tls","version":"0.1.4","description":"TLS 1.2/1.3 for any JavaScript Environment","type":"module","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./webcrypto":{"types":"./lib/crypto/webcrypto.d.ts","default":"./lib/crypto/webcrypto.js"},"./purejs-crypto":{"types":"./lib/crypto/pure-js.d.ts","default":"./lib/crypto/pure-js.js"}},"scripts":{"build":"npm exec tsc -- -p tsconfig.build.json","build:jsc":"npm run run:tsc src/scripts/build-jsc.ts","run:tsc":"node --experimental-strip-types","test:pure-js":"npm run run:tsc -- --import=./src/tests/load-purejs-crypto.ts --test","test:webcrypto":"npm run run:tsc -- --import=./src/tests/load-webcrypto.ts --test","handshake":"npm run run:tsc -- --import=./src/tests/load-webcrypto.ts ./src/scripts/handshake.ts","lint":"eslint . --ext .js,.ts,.jsx,.tsx","lint:fix":"eslint . --fix --ext .js,.ts,.jsx,.tsx","prepare":"npm run build","commitlint":"commitlint --edit","update:root-ca":"npm run run:tsc -- src/scripts/update-ca-certs.ts"},"keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"homepage":"https://github.com/reclaimprotocol/tls/","dependencies":{"@noble/ciphers":"^1.3.0","@noble/curves":"^1.9.6","@noble/hashes":"^1.8.0","@peculiar/asn1-ecc":"^2.3.14","@peculiar/asn1-schema":"^2.3.13","@peculiar/x509":"^1.12.3","micro-rsa-dsa-dh":"^0.1.0"},"devDependencies":{"@adiwajshing/eslint-config":"github:adiwajshing/eslint-config","@commitlint/cli":"^17.8.1","@commitlint/config-conventional":"^17.8.1","@types/chance":"^1.1.6","@types/node":"^22.0.0","@typescript-eslint/eslint-plugin":"^8.17.0","chance":"^1.1.12","csv-parse":"^5.6.0","esbuild":"^0.25.8","eslint":"^8.57.1","pino":"^9.5.0","typescript":"^5.0.0"},"gitHead":"03cd5c22a6688123da1d84427815f8740ea5f5d9","_id":"@reclaimprotocol/tls@0.1.4","_nodeVersion":"24.16.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-YIz0bRJxBj6S4u0nJf7Rkb7Nkqpwv2ySKHWjdvHUVU0xK1NqxWPPNxyLmiXiqDL2x0sLmDhDDZFPJxtnhabDTw==","shasum":"a1c4a6a689cedb1478c145a696f63760d1e12aa5","tarball":"https://registry.npmjs.org/@reclaimprotocol/tls/-/tls-0.1.4.tgz","fileCount":80,"unpackedSize":466043,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEwHTLMhDxNERY2ZXGUMd7TmZLCq+X8HZAYnZnsQf12AAiB9b+7KqKKxR6V+zyo0q+rB4uQBPWzj+uoAEgCHunWrrQ=="}]},"_npmUser":{"name":"alex.e","email":"alex@creatoros.co"},"directories":{},"maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"sriharshakaramchati","email":"leo.harsha93@gmail.com"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"},{"name":"sajjad21990","email":"sajjadhaider21990@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tls_0.1.4_1788074232012_0.6954204973623743"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-19T13:08:11.307Z","modified":"2026-08-30T07:17:12.350Z","0.0.1":"2023-09-19T13:08:11.705Z","0.0.2":"2024-07-17T13:17:48.491Z","0.0.3":"2025-07-10T11:22:41.961Z","0.0.4":"2025-07-10T12:00:27.734Z","0.0.6":"2025-07-24T05:26:05.433Z","0.0.8":"2025-08-01T05:15:18.761Z","0.1.0":"2025-08-04T12:38:46.743Z","0.1.2":"2025-12-08T04:22:42.481Z","0.1.3":"2026-06-07T06:27:29.320Z","0.1.4":"2026-08-30T07:17:12.193Z"},"bugs":{"url":"https://github.com/reclaimprotocol/tls/issues"},"author":{"name":"Adhiraj Singh"},"license":"See License in <https://github.com/reclaimprotocol/.github/blob/main/LICENSE>","homepage":"https://github.com/reclaimprotocol/tls/","keywords":["tls","webcrypto","cross-platform","cryptography","network-security","encryption","reclaim-protocol","asn1","x509","chacha20poly1305","typescript","nodejs","web-security","certificate-handling","secure-communication"],"description":"TLS 1.2/1.3 for any JavaScript Environment","maintainers":[{"name":"ali0002","email":"ali@creatoros.co"},{"name":"abdulrashid","email":"ar1242112@gmail.com"},{"name":"adiwajshing_reclaim","email":"adhiraj@creatoros.co"},{"name":"alex.e","email":"alex@creatoros.co"},{"name":"hadi_reclaim","email":"hadi@creatoros.co"},{"name":"sriharshakaramchati","email":"leo.harsha93@gmail.com"},{"name":"srivatsan-qb","email":"srivatsan@creatoros.co"},{"name":"dwik-reclaim","email":"dwik@creatoros.co"},{"name":"madhavanmalolan","email":"madhavan.malolan@gmail.com"},{"name":"mushaheed","email":"smushaheed@gmail.com"},{"name":"karamshbeb","email":"karam@creatoros.co"},{"name":"sajjad21990","email":"sajjadhaider21990@gmail.com"}],"readme":"<div>\n    <div>\n        <img src=\"https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/TLS.png\"  />\n    </div>\n</div>\n\nA TLS client implementation in typescript. This library is fully compatible with the browser (without any polyfills), and on any other JavaScript environment.\n\nAs all the cryptography is handled by either \"webcrypto\" or a \"pure-js\" implementation if webcrypto is not available.\n\n## Dependencies\n\n1. The ChaCha20-Poly1305 cipher is not supported via WebCrypto -- so we utilise `@stablelib/chacha20-poly1305` to provide this functionality.\n2. To handle X509 certificate validation we utilise `@peculiar/x509`\n3. Optionally a few other crypto dependencies are used when using the `pure-js` implementation. These can be excluded when using WebCrypto.\n\n## Supported Crypto Suites & Versions\n\n### TLS\n- TLS 1.2\n- TLS 1.3\n\n### Curves\n- X25519 (only on NodeJs -- not supported in the browser)\n- P-256 (SECP256R1)\n- P-384 (SECP384R1)\n\n### Signature Algorithms\n- RSA-PSS-RSAE-SHA256\n- ECDSA-SECP256R1-SHA256\n- ECDSA-SECP256R1-SHA384\n- ECDSA-SECP384R1-SHA256\n- ECDSA-SECP384R1-SHA384\n- RSA-PKCS1-SHA256\n- RSA-PKCS1-SHA384\n- RSA-PKCS1-SHA512\n- RSA-PKCS1-SHA1\n\n### Cipher Suites (TLS 1.3)\n- AES-128-GCM-SHA256\n- AES-256-GCM-SHA384\n- CHACHA20-POLY1305-SHA256\n\n### Cipher Suites (TLS 1.2)\n- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\n- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\n- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\n- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\n- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\n- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\n\n### Certificates\n- The entire Mozilla CA store is supported\n- A few additional certificates have also been added. See `src/utils/root-ca.ts`\n- We also implement fetching intermediate certificates via AIA fetching. Any fetched certificates are also then verified against the root CA store.\n\n## Install\n\nEdge version:\n``` sh\nnpm i git+https://github.com/reclaimprotocol/tls\n```\n\n## Set Crypto Implementation\n\nWhen on the browser, NodeJS or another NodeJS like runtime (such as Bun), you can set the crypto implementation to use the native `webcrypto` API. This is the most performant way to use this library.\n``` ts\nimport { setCryptoImplementation } from '@reclaimprotocol/tls'\nimport { webcryptoCrypto } from '@reclaimprotocol/tls/webcrypto'\n\nsetCryptoImplementation(webcryptoCrypto)\n```\n\nIf webcrypto is not available, you can use the `pure-js` implementation. This is slower, but works in all JavaScript environments -- even JavascriptCore.\n``` ts\nimport { setCryptoImplementation } from '@reclaimprotocol/tls'\nimport { pureJsCrypto } from '@reclaimprotocol/tls/pure-js'\n\nsetCryptoImplementation(pureJsCrypto)\n```\n\n## Example Usage\n\nAfter you've set the crypto implementation, you can use the TLS client like this:\n\n``` ts\nimport { Socket } from 'net'\nimport { makeTLSClient, uint8ArrayToBinaryStr } from '@reclaimprotocol/tls'\n\nconst socket = new Socket()\nconst host = 'www.google.com'\nconst port = 443\n\nconst tls = makeTLSClient({\n\thost,\n\t// verify the server's certificate\n\t// disable when using self-signed certificates\n\t// or if you don't care about the authenticity\n\t// of the server\n\tverifyServerCertificate: true,\n\t// only use the following cipher suites\n\t// leave undefined to use all supported cipher suites\n\tcipherSuites: [\n\t\t'TLS_CHACHA20_POLY1305_SHA256'\n\t\t// ... other suites\n\t],\n\t// write raw bytes to the socket\n\tasync write({ header, content }) {\n\t\tsocket.write(header)\n\t\tsocket.write(content)\n\t},\n\tonHandshake() {\n\t\tconsole.log('handshake completed successfully')\n\t\t// write encrypted data to the socket\n\t\tconst getReq = `GET / HTTP/1.1\\r\\nHost: ${host}\\r\\n\\r\\n`\n\t\ttls.write(Buffer.from(getReq))\n\t},\n\tonApplicationData(plaintext) {\n\t\tconst str = uint8ArrayToBinaryStr(plaintext)\n\t\tconsole.log('received application data: ', str)\n\t},\n\tonTlsEnd(error) {\n\t\tconsole.error('TLS connect ended: ', error)\n\t}\n})\n\nsocket.on('data', tls.handleReceivedBytes)\n\n// start handshake as soon as the socket connects\nsocket.on('connect', () => tls.startHandshake())\n\n// use the TCP socket to connect to the server\nsocket.connect({ host, port })\n```\n\n### Misc API Usage\n\nHandle a Session Ticket & Resume Session with a PSK\n``` ts\nconst tlsClient = makeTlsClient({\n\t// ... other options\n\tonSessionTicket(ticket) {\n\t\t// get a PSK (pre-shared key) from the session ticket\n\t\tconst psk = tls.getPskFromTicket(ticket)\n\t\t// this can be used to resume a session\n\t\t// if disconnected, using\n\t\t// tls.startHandshake({ psk })\n\t}\n})\n```\n\nHandle received certificates\n``` ts\nconst tlsClient = makeTlsClient({\n\t// ... other options\n\n\t// handle received certificates\n\t// (if you want to for some reason)\n\tonRecvCertificates({ certificates }) {\n\t\t// do something I guess?\n\t}\n})\n```\n\nUse the TLS KeyUpdate method to update the traffic keys. This sends a KeyUpdate message to the server & generates a fresh set of keys to encrypt/decrypt data. The server will then respond with a KeyUpdate message of its own. This is useful for forward secrecy.\n```ts\nawait tls.updateTrafficKeys()\n```\n\n## Testing\n\nOnce you clone the repository, install dependencies via `npm i`, you can run the tests using:\n```bash\nnpm run test:webcrypto\n```\nto test the WebCrypto implementation, or\n```bash\nnpm run test:pure-js\n```\nto test the PureJS implementation.\n\nIf you want to test a connection to a host, you can use the `handshake.ts` script. This script will connect to the specified host and port, perform a TLS handshake, and log the result.\n```bash\nnpm run handshake -- --host www.google.com\n```\n\nif you want to test `javascriptcore` compatibility, you can run the [jsc](/src/tests/jsc.test_mac.ts) test. This will run the tests in a JavaScriptCore environment, which is useful for testing compatibility with an ECMAScript environment that does not support WebCrypto.\nBefore you run the `jsc` test, make sure you have the `jsc` binary installed on your system & have built the `jsc` file using the `npm run build:jsc` command.\n\n## Updating CA certificates\n```bash\nnpm run update:root-ca\n```\n\n## Contributing to Our Project\n\nWe're excited that you're interested in contributing to our project! Before you get started, please take a moment to review the following guidelines.\n\n## Code of Conduct\n\nPlease read and follow our [Code of Conduct](https://github.com/reclaimprotocol/.github/blob/main/Code-of-Conduct.md) to ensure a positive and inclusive environment for all contributors.\n\n## Security\n\nIf you discover any security-related issues, please refer to our [Security Policy](https://github.com/reclaimprotocol/.github/blob/main/SECURITY.md) for information on how to responsibly disclose vulnerabilities.\n\n## Contributor License Agreement\n\nBefore contributing to this project, please read and sign our [Contributor License Agreement (CLA)](https://github.com/reclaimprotocol/.github/blob/main/CLA.md).\n\n## Indie Hackers\n\nFor Indie Hackers: [Check out our guidelines and potential grant opportunities](https://github.com/reclaimprotocol/.github/blob/main/Indie-Hackers.md)\n\n## License\n\nThis project is licensed under a [custom license](https://github.com/reclaimprotocol/.github/blob/main/LICENSE). By contributing to this project, you agree that your contributions will be licensed under its terms.\n\nThank you for your contributions!\n","readmeFilename":"README.md"}