{"_id":"client-certificate-auth","_rev":"38-5e8ae0e434272e9aa73c204c46f90c26","name":"client-certificate-auth","dist-tags":{"legacy":"1.3.8","latest":"2.2.0"},"versions":{"0.2.1":{"name":"client-certificate-auth","version":"0.2.1","keywords":["authentication","ssl","express","connect","middleware"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@0.2.1","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"861a5113cff335e686313ca9567285052e34eb07","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-0.2.1.tgz","integrity":"sha512-NnSXJRSVtwj/K8/fk1LF7y+4gtQRS7c/rZ9zWyU0VQxzUN17UtUdS5yxqX+Z1Oj+wcAl9mQg2Cq/SaxePI0vOw==","signatures":[{"sig":"MEQCIFp4KQP72AH/6IJs7Q7RZJe0gVyTO6hkdUXXZgpcpzoQAiAcezQX0zFlKxWJQoODv1HAnw3mmtlQK+qc+lstBLS+Pw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","engines":{"node":">= 0.6.x"},"scripts":{"test":"mocha test/test-*"},"_npmUser":{"name":"tgies","email":"tony.gies@gruppe86.net"},"repository":{"url":"https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"1.2.18","description":"middleware for Node.js implementing client SSL certificate authentication/authorization","directories":{"lib":"./lib","test":"./test"},"devDependencies":{"mocha":"1.9.x","should":"1.2.x"}},"0.3.0":{"name":"client-certificate-auth","version":"0.3.0","keywords":["authentication","ssl","express","connect","middleware"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@0.3.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"2eae4deead76b92220bd2dab82254a03479bd43b","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-0.3.0.tgz","integrity":"sha512-RLWh2x2cvNbpXNBWu2GoNauPWUx83wvs7Yx1H/+3xTWTDYgLSwtUG3klW+6nGKYHxKl7yzYzsTyThulMQsFypA==","signatures":[{"sig":"MEYCIQDzq8kVFSurvNqtX7jkb7dcuIw/C32RBR4Pq8nzuUrKbAIhAL67GGGdlgoa8IPFpfT1tklg8i7Uut3AjOkIBo1PwZkR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","engines":{"node":">= 0.6.x"},"scripts":{"test":"mocha test/test-*"},"_npmUser":{"name":"tgies","email":"tony.gies@gruppe86.net"},"repository":{"url":"https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"1.4.4","description":"middleware for Node.js implementing client SSL certificate authentication/authorization","directories":{"lib":"./lib","test":"./test"},"devDependencies":{"mocha":"1.9.x","should":"1.2.x"}},"1.0.0":{"name":"client-certificate-auth","version":"1.0.0","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.0.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"9a6af19164ca1fb8600bb3adb58a2f57c8702961","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.0.0.tgz","fileCount":12,"integrity":"sha512-H9m5ts4qMyow3f63SguMN+wTHaUWhvLkmu2zg1XVtVm90Zef43/mtaMPcHtQk8VGtAXkUsXNQ03HtOr6Djf0Qw==","signatures":[{"sig":"MEYCIQCN8vYqj1f3/ry2cJc96QNuYdiF2yZfovHJ5PvMADYHrAIhAO9WlJiivTI0TVnaeEvzhbngpcuukCvtlW9hk8ktdMUh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59667},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"ddbd4ab52bc5c73ad73defdcdff059e1d48409bd","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e"},"_npmUser":{"name":"tgies","email":"tony.gies@gruppe86.net"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Middleware for Node.js implementing client SSL certificate authentication/authorization","directories":{"lib":"./lib","test":"./test"},"_nodeVersion":"25.3.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","jest":"^29.7.0","eslint":"^9.17.0","globals":"^17.0.0","selfsigned":"^5.4.0","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.0.0_1768807382095_0.9329640580449801","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"client-certificate-auth","version":"1.1.0","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.1.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"95f5ba1951fea7216fd4197f9dcb0f1b0fda79e0","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.1.0.tgz","fileCount":11,"integrity":"sha512-O9zDXzWVXa6B7v7dbUds/ysluvXl+jtpfOagdmd8TG9mFeBsFqP7yt8B3SoY09hNrfMzGjHmi6G3NWheooB2Ig==","signatures":[{"sig":"MEUCICCBd9rwFdbsTfzTvFG9slXUoQi4+OegVPE8vefHaLYjAiEAyjlzXWrKUmOuQ/OQg19GiKE0Nz/eYI9oaF7V6A6iMoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70138},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"77f8c86e3b1824676c56edebb75c4d00d43039c7","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.8.0","description":"Middleware for Node.js implementing client SSL certificate authentication/authorization","directories":{"lib":"./lib","test":"./test"},"_nodeVersion":"25.6.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^29.7.0","eslint":"^9.17.0","globals":"^17.0.0","selfsigned":"^5.4.0","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.0","@stryker-mutator/core":"^9.4.0","@stryker-mutator/jest-runner":"^9.4.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.1.0_1770335266240_0.743480626910499","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"client-certificate-auth","version":"1.1.1","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.1.1","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"057c215d9b4671c88e88cbe8938670e7836ed710","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.1.1.tgz","fileCount":11,"integrity":"sha512-fMz2EnIoLXm31eX5xA1KpxXux109VM0eu/MvhRHuAawM0G4SXZJKPxVA/Nm20EVs7Ez08aRPVj+2cX6sdCnFgA==","signatures":[{"sig":"MEQCIG7LSwmPvydgz+swKHNV5nnfimWBw1p39nm4RSIvAzT5AiASSxZNuIOF1kmfZDBitwxZOgPQ3DqF/iCMWjUX47BJ8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76057},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"0bba965bdb8ffef30b4a3ca7db7c49fa68212e6c","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Middleware for Node.js implementing client SSL certificate authentication/authorization","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^29.7.0","husky":"^9.1.7","eslint":"^9.17.0","globals":"^17.0.0","selfsigned":"^5.4.0","typescript":"^5.7.2","@types/node":"^22.10.2","lint-staged":"^16.2.7","@types/express":"^5.0.0","@commitlint/cli":"^20.4.1","@stryker-mutator/core":"^9.4.0","@stryker-mutator/jest-runner":"^9.4.0","@commitlint/config-conventional":"^20.4.1"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.1.1_1770472817822_0.09165656319906956","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"client-certificate-auth","version":"1.1.2","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.1.2","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"33a7a109240c570ffca70bb75ed7c05294e88dae","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.1.2.tgz","fileCount":11,"integrity":"sha512-oxsFlHK9J/mi5ksELag1i5SYd68caCoQboGsri/nWxF+YnB5voL34MYmy6+hmXm3bmLuDeZJpEdmgbb8iuycMg==","signatures":[{"sig":"MEQCIGOxshCT8jo0XMi7xA0koZ3/ZJ9MnNBP8PoGz2/GzRcrAiA3B+zMbFB8vBa8A20ZUKS3B2dc9iNcRTsGpns2c4sCww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82573},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"6bd2dab7960a0c07e9080db5a5da83e6864794b4","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.17.0","globals":"^17.0.0","selfsigned":"^5.4.0","typescript":"^5.7.2","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/express":"^5.0.0","@commitlint/cli":"^20.4.1","@stryker-mutator/core":"^9.4.0","@stryker-mutator/jest-runner":"^9.4.0","@commitlint/config-conventional":"^20.4.1"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.1.2_1770483432962_0.9715451546743363","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"client-certificate-auth","version":"1.1.3","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.1.3","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"c9d91ed5d6f1f44e0411f4c6f97b78654d77decb","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.1.3.tgz","fileCount":11,"integrity":"sha512-FWKp3MJqQiVkzXt5GD/gO/kDK+Xm1YNcFWfoa47WzjMslYd76jm5zOx+TU1Bv9dqSp/6oMIFXFSBV5ZRF2oeKQ==","signatures":[{"sig":"MEQCIBcqjIBXSpOqp1KCPiJ8Rc/qhS/7q6b2uZuavgoTKR/XAiBz3/8nF+27p702TUI41TGLZSTrZ21erZdrvf5QXhok+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82805},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"62c1a962c7d36e93c08adff673d9a40d4c52e580","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.17.0","globals":"^17.0.0","selfsigned":"^5.4.0","typescript":"^5.7.2","@types/node":"^25.2.1","lint-staged":"^16.2.7","@types/express":"^5.0.0","@commitlint/cli":"^20.4.1","@stryker-mutator/core":"^9.4.0","@stryker-mutator/jest-runner":"^9.4.0","@commitlint/config-conventional":"^20.4.1"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.1.3_1770626669170_0.9804673140485007","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"client-certificate-auth","version":"1.2.0","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.2.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"112d9a86988d133e5f9fba61348240c22175ebac","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.2.0.tgz","fileCount":13,"integrity":"sha512-uUxGVFEPwwC20MyiZxYX7paT33F9VCAkU5WHmbr4TrQRu7CJ7BG/8mi0kFau/2ZtVe1ZpSU/qvNHpQHkSdEK+w==","signatures":[{"sig":"MEUCIQDyccHLCRYK36YcWWIDx2ETytIFD5EE/wE33gtyKL9iuwIgASVSMGo8XM56yHRzr1/RHhdzj+u5r4JGPwUrJf3xDTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95395},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"f5552b210cd154d506ef62e07ffd595572fe2b67","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.17.0","globals":"^17.3.0","selfsigned":"^5.5.0","typescript":"^5.9.3","@types/node":"^25.2.2","lint-staged":"^16.2.7","@types/express":"^5.0.6","@commitlint/cli":"^20.4.1","@stryker-mutator/core":"^9.5.1","@stryker-mutator/jest-runner":"^9.5.1","@commitlint/config-conventional":"^20.4.1"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.2.0_1770665127973_0.06316895771866293","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"client-certificate-auth","version":"1.3.0","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"4cbecb149fbb2375a0f14fe41261d08dad507df2","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.0.tgz","fileCount":19,"integrity":"sha512-OugsfjFlWRD91gQo35oAPhzk8nHCGRCh+byZoyXhfiDIy88dOqx87hgA+tmkrOA4LF0YJJIrpUpF6bqlTTT2sg==","signatures":[{"sig":"MEUCIBkOSwjDobjYNVVcaUpJ+TROHnj0dUILbcQIj7DYENsQAiEAw2f7iUJGvqTayHxWz6eIzsYrp4VXyiwkGi4XfBD6gQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98539},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"6c2bc0e6ee1cdd01af0f29c16b4df4e1184399f3","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.13.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.17.0","globals":"^17.3.0","selfsigned":"^5.5.0","typescript":"^5.9.3","@types/node":"^25.2.3","lint-staged":"^16.2.7","@types/express":"^5.0.6","@commitlint/cli":"^20.4.1","@stryker-mutator/core":"^9.5.1","@stryker-mutator/jest-runner":"^9.5.1","@commitlint/config-conventional":"^20.4.1"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.0_1771254310122_0.1492049779435427","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"client-certificate-auth","version":"1.3.1","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.1","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"ea97feeff0085935bb545950fe7d0eaeb3071153","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.1.tgz","fileCount":19,"integrity":"sha512-EfF6yvnbkC9Nt7YNUgC0k5+erx7RaYDQTWYBzvVvd2jxgO/XtxtMT5nHQa17JK4yEWYDm5q0f5NTzGp+nkLuuA==","signatures":[{"sig":"MEUCIDjj1wKokTgCcdpV21sCoXckSnEcxAkUcZPWoO7dlsdIAiEAgQTuJsk4ShUhzv4FDbJ3R2qYb0mT5o6+lyUxqtMYzlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99077},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"e79a957b21a9fd3fc3f1e1d24b0ff183a813bea3","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.13.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.17.0","globals":"^17.3.0","selfsigned":"^5.5.0","typescript":"^5.9.3","@types/node":"^25.2.3","lint-staged":"^16.2.7","@types/express":"^5.0.6","@commitlint/cli":"^20.4.1","@stryker-mutator/core":"^9.5.1","@stryker-mutator/jest-runner":"^9.5.1","@commitlint/config-conventional":"^20.4.1"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.1_1771311888318_0.563467713346643","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"client-certificate-auth","version":"1.3.2","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.2","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"034f217316ff3b4889dee030690c5185361c9aa5","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.2.tgz","fileCount":19,"integrity":"sha512-oeOatEelWS5wEN/mY/xsQx9Bg2Qy5TTvyjDS7oSHp7j9nSkJocE0O8C0VNMJImxmj5WTr/x42y3dQzZa6KrbSw==","signatures":[{"sig":"MEUCIBinavH7o2nB9flwio/WmnbSq3heGgv96ukY1xQ5c8I8AiEAhxf4aSYcHwEGtmeJq2q482/Lme72kt69ZtyfrzZYyzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100109},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"a5685549af86ed023a1f884bbb45eeb2495f5e81","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.6.2","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.13.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","ws":"^8.19.0","jest":"^30.2.0","husky":"^9.1.7","eslint":"^9.17.0","globals":"^17.3.0","selfsigned":"^5.5.0","typescript":"^5.9.3","@types/node":"^25.2.3","lint-staged":"^16.2.7","@types/express":"^5.0.6","@commitlint/cli":"^20.4.1","@stryker-mutator/core":"^9.5.1","@stryker-mutator/jest-runner":"^9.5.1","@commitlint/config-conventional":"^20.4.1"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.2_1771882738550_0.2701183313822666","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"client-certificate-auth","version":"1.3.3","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.3","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"897249488d57ef57d43866a5e6e0409b67cd175d","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.3.tgz","fileCount":19,"integrity":"sha512-Vs1usP8WRdhuk1Kc59x5otXVhmZchV72Z9DZCottvLldsi0RQOFos4F9SsowSn5sVKaLjzv8t8HkVOyBAcmoWg==","signatures":[{"sig":"MEQCICkA9njfxFx8e7JSvEZk1LWmqqV4/vynOWhzR9h5TzKbAiBcaZt8CEHMUJcLLMNaMm7PHHWnp82CTizo4bdL2ljPDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104513},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"62ffeee734c4167c3a0339e85bd159b3c5101f3c","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.11.0","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.14.1","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^9.39.4","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.3_1777435709661_0.2858712479539045","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"client-certificate-auth","version":"1.3.4","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.4","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"041452854b7336b16f41c8f34274cad11c8a1a2c","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.4.tgz","fileCount":19,"integrity":"sha512-Y15R3Sr1BKax98WcY4LpSNeZ5PUZShj54rex1j2Nf+lI2Yot4GEkr2pfVP/QeBGb9+jSnbZvdPWewvvNk0VBtQ==","signatures":[{"sig":"MEQCIFfv6l4ufjByckA2y49UZ9WsjSiGFaacUu0ohv4ekFTSAiAHoyeuAXJSGtSKzCzumA5ujvVg4GUswzkbbNKm0jmRMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108424},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"874ecfe3c5c02d74e47ca622274b7ba8d3ed2755","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.11.0","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.14.1","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^9.39.4","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.4_1777545730805_0.6360429536893777","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"client-certificate-auth","version":"2.0.0","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.0.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"3af5404adf86bbd60f102b3a43e730f0d12c9365","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.0.0.tgz","fileCount":19,"integrity":"sha512-xOyp+oyAV7dYGBdKcn+V0NdTbFda3x/Hi+oorUh93laLt9mvE/HAleHp1KOZmqdX6rlZANPByQ3MiI0l8r+3vw==","signatures":[{"sig":"MEUCIBNPChl2HP0GnwAPO83G+FisuQWyBSqsiLsjzqqA5KxwAiEAw+OnBicVUcPC8jh2H6MCMnPFWg0U00depQKFpEkL30s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110314},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"9b86f41c921d7c7a9981f59053e46c465c270af9","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.12.1","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.15.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.0.0_1778864420552_0.9340402108247563","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"client-certificate-auth","version":"1.3.5","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.5","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"84042ae781e2553337f51a4c0b7943ec581f52ab","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.5.tgz","fileCount":19,"integrity":"sha512-iMP8CMptFsazI7eKxEx6AymwST1i7iAAGsbUDwtGx+duT8bTp2StMFsBFoAhVZOW6jeD1425JATtw7EfGCC/0w==","signatures":[{"sig":"MEUCIQDotSTx8+inVdzrr7j6722ufDQsWujw6D+YmIqcb56+UgIgXJ+n5cEXeN0/iTSuDbNEzanD+9JuXCWL9w2OW2uyB1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":108196},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"b4e44769d9c3d3412ba8e9bede72c0238709c8f1","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.12.1","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.15.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^9.39.4","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.5_1779243939759_0.8443308371855291","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"client-certificate-auth","version":"2.0.1","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.0.1","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"e032fe7e6f5cfe2717d33a34558c89afad080957","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.0.1.tgz","fileCount":19,"integrity":"sha512-o1xLqxTvJ5K4K9IHdbEzIOuvUNPPcy/kE/Pqbs1DXWMQGaZn9KrTpg4ZOGK0oolBBMny/lf+n5O0IKv9NzSttg==","signatures":[{"sig":"MEYCIQCtSXT34+G1hhAU8prOYMa4+j2LO1s4DwgWZx3TSCQ1TgIhAPxYFCddWWqQgSthrXJ7cAYEDm62CQ0r+2mEI/mWvuoR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114287},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"edaa07f1b8b7a6ddd7979a43d0000a42df474f0a","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.12.1","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.15.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.0.1_1779244944275_0.9052884832053909","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"client-certificate-auth","version":"2.0.2","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.0.2","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"9f31e449f40942e461325f468f8eda996e3f5c61","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.0.2.tgz","fileCount":19,"integrity":"sha512-ixamhVdlEVSNQKEiykMNzpcb4ooIo/AuGtf2Kod9nR/BFdp7jeepsj1L+3XEZTW9CRY6i/14XckuDtrX/FHeIA==","signatures":[{"sig":"MEUCIQDXG662TJqtSl9C2IXqSdWbfatnq5Yswp+wySzXWs4OFQIgDoEIBbJVFg4Q4pjuk9d1UkHTnpoG6GigYzO0cNuT770=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114558},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"0e117c7a76a34a9b5e243d11899489a702a576d8","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.12.1","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.15.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.0.2_1779571217736_0.6597956012678103","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"client-certificate-auth","version":"1.3.6","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.6","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"5aa6c887af77332847134d8ecd30b865722f70e2","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.6.tgz","fileCount":19,"integrity":"sha512-Mmds2oW3xMXPTlnu9SdHr8g7UAI11mkjsr/3LKrLVIbvKb3HtqP9PV9GrDpERSLdoOvqWvtKqgXjiCiTXUabfA==","signatures":[{"sig":"MEUCIBsrzlZn0t/NpjeBbS3iHBqOvriZYtR6tkwg4QJzFnylAiEA23ZFNyuUOKSoyipnbOogqENop+xs7kA1vb4iX3QjfUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109329},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"97bf25a79adc9abf8de65b73a3878755530429e4","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.12.1","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.15.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^9.39.4","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.6_1779588885721_0.7001458895324746","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"client-certificate-auth","version":"2.1.0","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.1.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"107005e9c7ffbed0bdba8e5833dd25c3e19b2600","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.1.0.tgz","fileCount":27,"integrity":"sha512-Os0khJoNFpC56u0rz4dKZle2do55zRnRLODPlB3BwXq2XKE69yW7zHvSg60kr0QMcJqF8RXtaakExhbcM8in+A==","signatures":[{"sig":"MEUCIQCpsLnk8cgccHDx3tq6Xtr4eIrnkfvGNZ9N6S4/1nf2FQIgaUf0PnMoE6rFSyMmtgAbr+yRLdE4Vy/ppmMPb0WzIKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":130212},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./fetch":{"import":{"types":"./lib/fetch.d.ts","default":"./lib/fetch.js"},"require":{"types":"./lib/fetch.d.cts","default":"./lib/fetch.cjs"}},"./lambda":{"import":{"types":"./lib/lambda.d.ts","default":"./lib/lambda.js"},"require":{"types":"./lib/lambda.d.cts","default":"./lib/lambda.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"84608862baecf62eacfdecbdd7e3dc38cb3f14c6","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.12.1","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.15.0","typesVersions":{"*":{"fetch":["./lib/fetch.d.ts"],"lambda":["./lib/lambda.d.ts"],"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.1.0_1779662622686_0.30568442306712984","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"client-certificate-auth","version":"2.1.1","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.1.1","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"37e8c0dc6876181f2cc914a14750573c2162b2ea","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.1.1.tgz","fileCount":27,"integrity":"sha512-SZOc+nPCC5XXP6LJeeDxhqFRv9DWj/KQ29JMbKheK/nhz94knGT0w4rlHF8hkMfv5SlGGRkWwbE2dkI3DycwXQ==","signatures":[{"sig":"MEYCIQCCi6JF1ZBN7doMmj3kr/sDwChJAJ26XWQHeMrn4LLmtwIhAKxSrdrwx6TPP7y569R1g2BBTd16jEBGjdPxbu79Qt6f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132817},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./fetch":{"import":{"types":"./lib/fetch.d.ts","default":"./lib/fetch.js"},"require":{"types":"./lib/fetch.d.cts","default":"./lib/fetch.cjs"}},"./lambda":{"import":{"types":"./lib/lambda.d.ts","default":"./lib/lambda.js"},"require":{"types":"./lib/lambda.d.cts","default":"./lib/lambda.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"1fd8376e3cb70392fdc277e1ce4a7829b0e5a824","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"qs":"^6.15.2","fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.13.0","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.16.0","typesVersions":{"*":{"fetch":["./lib/fetch.d.ts"],"lambda":["./lib/lambda.d.ts"],"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^17.0.4","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.1.1_1781159417508_0.7531931105089329","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"client-certificate-auth","version":"1.3.7","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@1.3.7","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"127d78179ada146dcff464d2759996be48e26bb0","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.7.tgz","fileCount":19,"integrity":"sha512-VqgFAD8PsJsHLVQT5xCIT86lu5daYULhdnD/RUHt1mt2rd6AcoK8jbWyj3EMQlnxARAHd5j6wCP/HyWWjOoUUg==","signatures":[{"sig":"MEQCIEX/GKGgVYNljR1VZ3B6F+XSxNJ2DqRaJT5Mc1mrB5A2AiAft1oeR0o8pR7dR+224YPBDniHM+wIKHY5CzFk+19ItA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110423},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"329427f785446047a979c8cdbcccf964145bc316","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.13.0","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.16.0","typesVersions":{"*":{"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^9.39.4","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^16.3.2","@types/express":"^5.0.6","@commitlint/cli":"^20.4.3","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_1.3.7_1781159421411_0.8932898676805991","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"client-certificate-auth","version":"2.1.2","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.1.2","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"d4d494d584854a5e3ccec37b82a26b3607d811db","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.1.2.tgz","fileCount":27,"integrity":"sha512-JKD3Ksi87vrwEi/BxIXR3k9HD3jEFO0mZB4RkvJ/NPGLNjW5yrGTZElI0CM1Fe3rPJZSNCBSmcvUlW1PUqRqDQ==","signatures":[{"sig":"MEQCIAYZrfvYpGAqwGRaLrxl0hmxbJCZJvqPjVxExI/vSjMlAiBea/R9UjmgW4zruerKIvfd9BAhRnJ/RUed5ucOQWexdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133733},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./fetch":{"import":{"types":"./lib/fetch.d.ts","default":"./lib/fetch.js"},"require":{"types":"./lib/fetch.d.cts","default":"./lib/fetch.cjs"}},"./lambda":{"import":{"types":"./lib/lambda.d.ts","default":"./lib/lambda.js"},"require":{"types":"./lib/lambda.d.cts","default":"./lib/lambda.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"23c40b26db1a40831daa7775ee14e61f8d67388a","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"qs":"^6.15.2","fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.13.0","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.16.0","typesVersions":{"*":{"fetch":["./lib/fetch.d.ts"],"lambda":["./lib/lambda.d.ts"],"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^25.6.0","lint-staged":"^17.0.4","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.1.2_1781681549316_0.3190809697665955","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"client-certificate-auth","version":"2.1.3","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.1.3","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"81971c630d2cb9e52b18ee2e23f03bf7cf5bd006","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.1.3.tgz","fileCount":27,"integrity":"sha512-9LEobVX2lWmpswEQRHMDqsdhn7bUKw4hmN76NNn/qhgq/X0HdQROaHLbE+TO8su7TeKPDeeJno+zSxEXylWUdA==","signatures":[{"sig":"MEYCIQC4DRwfsIZ/3ScbcZQAblLhaGLl2kTGoEfBCIvrSazDbwIhAKs3HNB3NuvoNNklMFMEObL3FuBBMw2zvtGis4jaH58+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":136651},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./fetch":{"import":{"types":"./lib/fetch.d.ts","default":"./lib/fetch.js"},"require":{"types":"./lib/fetch.d.cts","default":"./lib/fetch.cjs"}},"./lambda":{"import":{"types":"./lib/lambda.d.ts","default":"./lib/lambda.js"},"require":{"types":"./lib/lambda.d.cts","default":"./lib/lambda.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"36326f57981622defdd8d01d7ca9ef9be54af97e","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"qs":"^6.15.2","fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.17.0","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.19.0","typesVersions":{"*":{"fetch":["./lib/fetch.d.ts"],"lambda":["./lib/lambda.d.ts"],"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^26.1.1","lint-staged":"^17.0.4","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.1.3_1787087089481_0.387083953579878","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"client-certificate-auth","version":"2.2.0","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","_id":"client-certificate-auth@2.2.0","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"dist":{"shasum":"e01b7286b0214d172a43d180193cdc7e217df3e3","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-2.2.0.tgz","fileCount":27,"integrity":"sha512-VOBOpxGh2l07pxkCXaWDFFg3AJ+VdyU68QpKS0CouzgrCpU9wg9JVUN7v9TtSmaARnAjAte0AZnrxT0+Tlv20g==","signatures":[{"sig":"MEUCIEPriaUUNwS02GHKfUSXMOh0B7FC2A/q7mkiIuTP6baoAiEA356M36XFMk8Re3Ko0emqhsIfyXu3xpJ5rKHwNixDOv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":137997},"main":"./lib/clientCertificateAuth.cjs","type":"module","types":"./lib/clientCertificateAuth.d.ts","engines":{"node":">= 20"},"exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./fetch":{"import":{"types":"./lib/fetch.d.ts","default":"./lib/fetch.js"},"require":{"types":"./lib/fetch.d.cts","default":"./lib/fetch.cjs"}},"./lambda":{"import":{"types":"./lib/lambda.d.ts","default":"./lib/lambda.js"},"require":{"types":"./lib/lambda.d.cts","default":"./lib/lambda.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"funding":{"url":"https://github.com/sponsors/tgies","type":"github"},"gitHead":"8e4ce5f77f1d83ad3ca631c5d5e3c2175cb587a9","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","test:all":"npm run test && npm run test:e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","typecheck":"tsc --noEmit","docs:build":"npm run docs:api && vitepress build docs","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","docs:preview":"vitepress preview docs","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:mutation":"stryker run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"overrides":{"qs":"^6.15.2","fflate":"0.8.2"},"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"_npmVersion":"11.17.0","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","directories":{"lib":"./lib","test":"./test"},"lint-staged":{"*.{js,cjs}":"eslint --fix"},"_nodeVersion":"24.19.0","typesVersions":{"*":{"fetch":["./lib/fetch.d.ts"],"lambda":["./lib/lambda.d.ts"],"helpers":["./lib/helpers.d.ts"],"parsers":["./lib/parsers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","ws":"^8.20.0","jest":"^30.3.0","husky":"^9.1.7","eslint":"^10.2.1","globals":"^17.5.0","typedoc":"^0.28.19","vitepress":"^2.0.0-alpha.17","@eslint/js":"^10.0.1","selfsigned":"^5.5.0","typescript":"^6.0.3","@types/node":"^26.1.1","lint-staged":"^17.0.4","@types/express":"^5.0.6","@commitlint/cli":"^21.0.0","@arethetypeswrong/cli":"^0.18.2","@stryker-mutator/core":"^9.6.0","typedoc-plugin-markdown":"^4.11.0","@stryker-mutator/jest-runner":"^9.6.1","@commitlint/config-conventional":"^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/client-certificate-auth_2.2.0_1787499645089_0.23252155969520127","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"client-certificate-auth","version":"1.3.8","description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","homepage":"https://github.com/tgies/client-certificate-auth","bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"funding":{"type":"github","url":"https://github.com/sponsors/tgies"},"type":"module","exports":{".":{"import":{"types":"./lib/clientCertificateAuth.d.ts","default":"./lib/clientCertificateAuth.js"},"require":{"types":"./lib/clientCertificateAuth.d.cts","default":"./lib/clientCertificateAuth.cjs"}},"./parsers":{"import":{"types":"./lib/parsers.d.ts","default":"./lib/parsers.js"},"require":{"types":"./lib/parsers.d.cts","default":"./lib/parsers.cjs"}},"./helpers":{"import":{"types":"./lib/helpers.d.ts","default":"./lib/helpers.js"},"require":{"types":"./lib/helpers.d.cts","default":"./lib/helpers.cjs"}},"./extractor":{"import":{"types":"./lib/extractor.d.ts","default":"./lib/extractor.js"},"require":{"types":"./lib/extractor.d.cts","default":"./lib/extractor.cjs"}}},"main":"./lib/clientCertificateAuth.cjs","types":"./lib/clientCertificateAuth.d.ts","typesVersions":{"*":{"parsers":["./lib/parsers.d.ts"],"helpers":["./lib/helpers.d.ts"],"extractor":["./lib/extractor.d.ts"]}},"engines":{"node":">= 20"},"devDependencies":{"@arethetypeswrong/cli":"^0.18.2","@commitlint/cli":"^20.4.3","@commitlint/config-conventional":"^20.5.0","@stryker-mutator/core":"^9.6.0","@stryker-mutator/jest-runner":"^9.6.1","@types/express":"^5.0.6","@types/node":"^25.6.0","c8":"^11.0.0","eslint":"^9.39.4","globals":"^17.5.0","husky":"^9.1.7","jest":"^30.3.0","lint-staged":"^16.3.2","selfsigned":"^5.5.0","typedoc":"^0.28.19","typedoc-plugin-markdown":"^4.11.0","typescript":"^6.0.3","vitepress":"^2.0.0-alpha.17","ws":"^8.20.0"},"directories":{"lib":"./lib","test":"./test"},"scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js --testPathIgnorePatterns=test-e2e","test:coverage":"node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage --testPathIgnorePatterns=test-e2e","test:e2e":"node --experimental-vm-modules node_modules/jest/bin/jest.js test/test-e2e-proxies.js --runInBand","test:mutation":"stryker run","test:all":"npm run test && npm run test:e2e","typecheck":"tsc --noEmit","lint":"eslint .","build:types":"tsc --declaration --emitDeclarationOnly --outDir lib","check":"npm run lint && npm run typecheck && npm run test:coverage","stats":"echo '=== Source ===' && cloc lib/ --quiet | tail -n +2 && echo '=== Tests ===' && cloc test/ --exclude-dir=docker --quiet | tail -n +2 && echo '=== Package ===' && npm pack --dry-run 2>&1 | grep -E 'package size|unpacked size|total files'","prepare":"husky","docs:api":"typedoc","docs:dev":"vitepress dev docs","docs:build":"npm run docs:api && vitepress build docs","docs:preview":"vitepress preview docs"},"repository":{"type":"git","url":"git+https://github.com/tgies/client-certificate-auth.git"},"keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"author":{"name":"Tony Gies","email":"tony.gies@gruppe86.net","url":"https://github.com/tgies"},"license":"MIT","lint-staged":{"*.{js,cjs}":"eslint --fix"},"overrides":{"fflate":"0.8.2","qs":"^6.15.2"},"readmeFilename":"README.md","gitHead":"36edf2b0adebb45f630fea039ba17d4422f9753f","_id":"client-certificate-auth@1.3.8","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-vEFU8y8rxjGayp/B0fAWgkdh+ucgwm/SiuF+gtO3V64R810OhkOEeuqL14FGuKCXz8T726i2DN4fEd3YLinzYQ==","shasum":"e3db9fd28bc57f5ca04a34724d6438a53aaf8766","tarball":"https://registry.npmjs.org/client-certificate-auth/-/client-certificate-auth-1.3.8.tgz","fileCount":19,"unpackedSize":110577,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/client-certificate-auth@1.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDb6flNRbCxdWWrzsss1mXt+6zdi+JNDRzOUYgQOEDbHwIgXU8aSriUhoUadW7/r6+NH6JvaxnYO0Cl4KiukOBQe+g="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7cb3f59f-2ef3-4de6-abd3-e169daa6b75a"}},"maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/client-certificate-auth_1.3.8_1787639028777_0.5581620258246782"},"_hasShrinkwrap":false}},"time":{"created":"2013-05-05T04:05:01.483Z","modified":"2026-08-25T06:23:49.242Z","0.2.1":"2013-05-05T04:05:07.689Z","0.3.0":"2014-03-17T19:08:00.803Z","1.0.0":"2026-01-19T07:23:02.233Z","1.1.0":"2026-02-05T23:47:46.390Z","1.1.1":"2026-02-07T14:00:17.978Z","1.1.2":"2026-02-07T16:57:13.101Z","1.1.3":"2026-02-09T08:44:29.318Z","1.2.0":"2026-02-09T19:25:28.136Z","1.3.0":"2026-02-16T15:05:10.256Z","1.3.1":"2026-02-17T07:04:48.476Z","1.3.2":"2026-02-23T21:38:58.701Z","1.3.3":"2026-04-29T04:08:29.808Z","1.3.4":"2026-04-30T10:42:10.951Z","2.0.0":"2026-05-15T17:00:20.707Z","1.3.5":"2026-05-20T02:25:39.961Z","2.0.1":"2026-05-20T02:42:24.422Z","2.0.2":"2026-05-23T21:20:17.881Z","1.3.6":"2026-05-24T02:14:45.883Z","2.1.0":"2026-05-24T22:43:42.832Z","2.1.1":"2026-06-11T06:30:17.717Z","1.3.7":"2026-06-11T06:30:21.542Z","2.1.2":"2026-06-17T07:32:29.451Z","2.1.3":"2026-08-18T21:04:49.642Z","2.2.0":"2026-08-23T15:40:45.233Z","1.3.8":"2026-08-25T06:23:48.952Z"},"bugs":{"url":"https://github.com/tgies/client-certificate-auth/issues"},"author":{"url":"https://github.com/tgies","name":"Tony Gies","email":"tony.gies@gruppe86.net"},"license":"MIT","homepage":"https://github.com/tgies/client-certificate-auth","keywords":["authentication","ssl","tls","mtls","client-certificate","express","connect","middleware","mutual-tls","zero-trust","pki","x509","reverse-proxy","certificate-authentication"],"repository":{"url":"git+https://github.com/tgies/client-certificate-auth.git","type":"git"},"description":"Express/Connect middleware for mTLS client certificate authentication with reverse proxy support (AWS ALB, Envoy, Cloudflare, Traefik)","maintainers":[{"name":"tgies","email":"tony.gies@gruppe86.net"}],"readme":"","readmeFilename":"","users":{"faas":true,"vunb":true,"tgies":true,"debashish":true,"jeremyscalpello":true}}