using node forge for self signed certs

This commit is contained in:
Utkarsh Mehta 2022-09-26 19:47:36 +05:30
parent 8840146390
commit c027b5b7ce
3 changed files with 108 additions and 468 deletions

494
npm/package-lock.json generated
View File

@ -12,13 +12,12 @@
"@boxyhq/saml20": "1.0.6",
"@opentelemetry/api": "1.0.4",
"@opentelemetry/api-metrics": "0.27.0",
"@peculiar/webcrypto": "1.4.0",
"@peculiar/x509": "1.8.3",
"axios": "^0.27.2",
"jose": "4.9.3",
"marked": "4.1.0",
"mongodb": "4.9.1",
"mysql2": "2.3.3",
"node-forge": "1.3.1",
"pg": "8.8.0",
"redis": "4.3.1",
"reflect-metadata": "0.1.13",
@ -459,7 +458,7 @@
},
"node_modules/@cspotcode/source-map-support": {
"version": "0.8.1",
"dev": true,
"devOptional": true,
"license": "MIT",
"dependencies": {
"@jridgewell/trace-mapping": "0.3.9"
@ -470,7 +469,7 @@
},
"node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
"version": "0.3.9",
"dev": true,
"devOptional": true,
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.0.3",
@ -663,7 +662,7 @@
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.0",
"dev": true,
"devOptional": true,
"license": "MIT",
"engines": {
"node": ">=6.0.0"
@ -679,7 +678,7 @@
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.14",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
@ -737,155 +736,6 @@
"node": ">=8.0.0"
}
},
"node_modules/@peculiar/asn1-cms": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"@peculiar/asn1-x509-attr": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-csr": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-ecc": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-pfx": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-cms": "^2.2.0",
"@peculiar/asn1-pkcs8": "^2.2.0",
"@peculiar/asn1-rsa": "^2.2.0",
"@peculiar/asn1-schema": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-pkcs8": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-pkcs9": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-cms": "^2.2.0",
"@peculiar/asn1-pfx": "^2.2.0",
"@peculiar/asn1-pkcs8": "^2.2.0",
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"@peculiar/asn1-x509-attr": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-rsa": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-schema": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"asn1js": "^3.0.5",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-x509": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.2.0",
"asn1js": "^3.0.5",
"ipaddr.js": "^2.0.1",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/asn1-x509-attr": {
"version": "2.2.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"node_modules/@peculiar/json-schema": {
"version": "1.1.12",
"license": "MIT",
"dependencies": {
"tslib": "^2.0.0"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/@peculiar/webcrypto": {
"version": "1.4.0",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.1.6",
"@peculiar/json-schema": "^1.1.12",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0",
"webcrypto-core": "^1.7.4"
},
"engines": {
"node": ">=10.12.0"
}
},
"node_modules/@peculiar/x509": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.8.3.tgz",
"integrity": "sha512-omZfI3n4eGLS5NLudURzbc0smQ4ePreOPUEk31n1MLaqd2GGb48b4Zw5xjHzHJ0hnPYmZ+NRjqqquXYUYKjMCw==",
"dependencies": {
"@peculiar/asn1-cms": "^2.2.0",
"@peculiar/asn1-csr": "^2.2.0",
"@peculiar/asn1-ecc": "^2.2.0",
"@peculiar/asn1-pkcs9": "^2.2.0",
"@peculiar/asn1-rsa": "^2.2.0",
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"pvtsutils": "^1.3.2",
"reflect-metadata": "^0.1.13",
"tslib": "^2.4.0",
"tsyringe": "^4.7.0"
}
},
"node_modules/@redis/bloom": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
@ -976,22 +826,22 @@
},
"node_modules/@tsconfig/node10": {
"version": "1.0.9",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/@tsconfig/node12": {
"version": "1.0.11",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/@tsconfig/node14": {
"version": "1.0.3",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/@tsconfig/node16": {
"version": "1.0.3",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/@types/json-schema": {
@ -1232,7 +1082,7 @@
},
"node_modules/acorn": {
"version": "8.8.0",
"dev": true,
"devOptional": true,
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@ -1252,7 +1102,7 @@
},
"node_modules/acorn-walk": {
"version": "8.2.0",
"dev": true,
"devOptional": true,
"license": "MIT",
"engines": {
"node": ">=0.4.0"
@ -1347,7 +1197,7 @@
},
"node_modules/arg": {
"version": "4.1.3",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/argparse": {
@ -1362,18 +1212,6 @@
"node": ">=8"
}
},
"node_modules/asn1js": {
"version": "3.0.5",
"license": "BSD-3-Clause",
"dependencies": {
"pvtsutils": "^1.3.2",
"pvutils": "^1.1.3",
"tslib": "^2.4.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/async-hook-domain": {
"version": "2.0.4",
"dev": true,
@ -1753,7 +1591,7 @@
},
"node_modules/create-require": {
"version": "1.1.1",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/cross-env": {
@ -2616,13 +2454,6 @@
"version": "2.0.0",
"license": "MIT"
},
"node_modules/ipaddr.js": {
"version": "2.0.1",
"license": "MIT",
"engines": {
"node": ">= 10"
}
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"dev": true,
@ -2996,7 +2827,7 @@
},
"node_modules/make-error": {
"version": "1.3.6",
"dev": true,
"devOptional": true,
"license": "ISC"
},
"node_modules/marked": {
@ -3184,6 +3015,14 @@
"path-to-regexp": "^1.7.0"
}
},
"node_modules/node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"engines": {
"node": ">= 6.13.0"
}
},
"node_modules/node-preload": {
"version": "0.2.1",
"dev": true,
@ -3705,20 +3544,6 @@
"node": ">=6"
}
},
"node_modules/pvtsutils": {
"version": "1.3.2",
"license": "MIT",
"dependencies": {
"tslib": "^2.4.0"
}
},
"node_modules/pvutils": {
"version": "1.1.3",
"license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/queue-microtask": {
"version": "1.2.3",
"dev": true,
@ -6245,7 +6070,7 @@
},
"node_modules/ts-node": {
"version": "10.9.1",
"dev": true,
"devOptional": true,
"license": "MIT",
"dependencies": {
"@cspotcode/source-map-support": "^0.8.0",
@ -6287,7 +6112,7 @@
},
"node_modules/ts-node/node_modules/diff": {
"version": "4.0.2",
"dev": true,
"devOptional": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
@ -6338,20 +6163,6 @@
"dev": true,
"license": "0BSD"
},
"node_modules/tsyringe": {
"version": "4.7.0",
"license": "MIT",
"dependencies": {
"tslib": "^1.9.3"
},
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/tsyringe/node_modules/tslib": {
"version": "1.14.1",
"license": "0BSD"
},
"node_modules/type-check": {
"version": "0.4.0",
"dev": true,
@ -6554,7 +6365,7 @@
"version": "4.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz",
"integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==",
"dev": true,
"devOptional": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -6638,20 +6449,9 @@
},
"node_modules/v8-compile-cache-lib": {
"version": "3.0.1",
"dev": true,
"devOptional": true,
"license": "MIT"
},
"node_modules/webcrypto-core": {
"version": "1.7.5",
"license": "MIT",
"dependencies": {
"@peculiar/asn1-schema": "^2.1.6",
"@peculiar/json-schema": "^1.1.12",
"asn1js": "^3.0.1",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0"
}
},
"node_modules/webidl-conversions": {
"version": "7.0.0",
"license": "BSD-2-Clause",
@ -6907,7 +6707,7 @@
},
"node_modules/yn": {
"version": "3.1.1",
"dev": true,
"devOptional": true,
"license": "MIT",
"engines": {
"node": ">=6"
@ -7205,14 +7005,14 @@
},
"@cspotcode/source-map-support": {
"version": "0.8.1",
"dev": true,
"devOptional": true,
"requires": {
"@jridgewell/trace-mapping": "0.3.9"
},
"dependencies": {
"@jridgewell/trace-mapping": {
"version": "0.3.9",
"dev": true,
"devOptional": true,
"requires": {
"@jridgewell/resolve-uri": "^3.0.3",
"@jridgewell/sourcemap-codec": "^1.4.10"
@ -7341,7 +7141,7 @@
},
"@jridgewell/resolve-uri": {
"version": "3.1.0",
"dev": true
"devOptional": true
},
"@jridgewell/set-array": {
"version": "1.1.2",
@ -7349,7 +7149,7 @@
},
"@jridgewell/sourcemap-codec": {
"version": "1.4.14",
"dev": true
"devOptional": true
},
"@jridgewell/trace-mapping": {
"version": "0.3.14",
@ -7385,141 +7185,11 @@
"@opentelemetry/api-metrics": {
"version": "0.27.0"
},
"@peculiar/asn1-cms": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"@peculiar/asn1-x509-attr": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-csr": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-ecc": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-pfx": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-cms": "^2.2.0",
"@peculiar/asn1-pkcs8": "^2.2.0",
"@peculiar/asn1-rsa": "^2.2.0",
"@peculiar/asn1-schema": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-pkcs8": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-pkcs9": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-cms": "^2.2.0",
"@peculiar/asn1-pfx": "^2.2.0",
"@peculiar/asn1-pkcs8": "^2.2.0",
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"@peculiar/asn1-x509-attr": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-rsa": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-schema": {
"version": "2.2.0",
"requires": {
"asn1js": "^3.0.5",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-x509": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-schema": "^2.2.0",
"asn1js": "^3.0.5",
"ipaddr.js": "^2.0.1",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0"
}
},
"@peculiar/asn1-x509-attr": {
"version": "2.2.0",
"requires": {
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"asn1js": "^3.0.5",
"tslib": "^2.4.0"
}
},
"@peculiar/json-schema": {
"version": "1.1.12",
"requires": {
"tslib": "^2.0.0"
}
},
"@peculiar/webcrypto": {
"version": "1.4.0",
"requires": {
"@peculiar/asn1-schema": "^2.1.6",
"@peculiar/json-schema": "^1.1.12",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0",
"webcrypto-core": "^1.7.4"
}
},
"@peculiar/x509": {
"version": "1.8.3",
"resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.8.3.tgz",
"integrity": "sha512-omZfI3n4eGLS5NLudURzbc0smQ4ePreOPUEk31n1MLaqd2GGb48b4Zw5xjHzHJ0hnPYmZ+NRjqqquXYUYKjMCw==",
"requires": {
"@peculiar/asn1-cms": "^2.2.0",
"@peculiar/asn1-csr": "^2.2.0",
"@peculiar/asn1-ecc": "^2.2.0",
"@peculiar/asn1-pkcs9": "^2.2.0",
"@peculiar/asn1-rsa": "^2.2.0",
"@peculiar/asn1-schema": "^2.2.0",
"@peculiar/asn1-x509": "^2.2.0",
"pvtsutils": "^1.3.2",
"reflect-metadata": "^0.1.13",
"tslib": "^2.4.0",
"tsyringe": "^4.7.0"
}
},
"@redis/bloom": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.0.2.tgz",
"integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw=="
"integrity": "sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==",
"requires": {}
},
"@redis/client": {
"version": "1.3.0",
@ -7534,22 +7204,26 @@
"@redis/graph": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.0.1.tgz",
"integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ=="
"integrity": "sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ==",
"requires": {}
},
"@redis/json": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz",
"integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw=="
"integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==",
"requires": {}
},
"@redis/search": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz",
"integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ=="
"integrity": "sha512-NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==",
"requires": {}
},
"@redis/time-series": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.3.tgz",
"integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA=="
"integrity": "sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA==",
"requires": {}
},
"@sinonjs/commons": {
"version": "1.8.3",
@ -7583,19 +7257,19 @@
},
"@tsconfig/node10": {
"version": "1.0.9",
"dev": true
"devOptional": true
},
"@tsconfig/node12": {
"version": "1.0.11",
"dev": true
"devOptional": true
},
"@tsconfig/node14": {
"version": "1.0.3",
"dev": true
"devOptional": true
},
"@tsconfig/node16": {
"version": "1.0.3",
"dev": true
"devOptional": true
},
"@types/json-schema": {
"version": "7.0.11",
@ -7737,17 +7411,18 @@
},
"acorn": {
"version": "8.8.0",
"dev": true
"devOptional": true
},
"acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true
"dev": true,
"requires": {}
},
"acorn-walk": {
"version": "8.2.0",
"dev": true
"devOptional": true
},
"aggregate-error": {
"version": "3.1.0",
@ -7805,7 +7480,7 @@
},
"arg": {
"version": "4.1.3",
"dev": true
"devOptional": true
},
"argparse": {
"version": "2.0.1"
@ -7814,14 +7489,6 @@
"version": "2.1.0",
"dev": true
},
"asn1js": {
"version": "3.0.5",
"requires": {
"pvtsutils": "^1.3.2",
"pvutils": "^1.1.3",
"tslib": "^2.4.0"
}
},
"async-hook-domain": {
"version": "2.0.4",
"dev": true
@ -8045,7 +7712,7 @@
},
"create-require": {
"version": "1.1.1",
"dev": true
"devOptional": true
},
"cross-env": {
"version": "7.0.3",
@ -8200,7 +7867,8 @@
},
"eslint-config-prettier": {
"version": "8.5.0",
"dev": true
"dev": true,
"requires": {}
},
"eslint-scope": {
"version": "5.1.1",
@ -8568,9 +8236,6 @@
"ip": {
"version": "2.0.0"
},
"ipaddr.js": {
"version": "2.0.1"
},
"is-binary-path": {
"version": "2.1.0",
"dev": true,
@ -8813,7 +8478,7 @@
},
"make-error": {
"version": "1.3.6",
"dev": true
"devOptional": true
},
"marked": {
"version": "4.1.0",
@ -8945,6 +8610,11 @@
"path-to-regexp": "^1.7.0"
}
},
"node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
},
"node-preload": {
"version": "0.2.1",
"dev": true,
@ -9170,7 +8840,8 @@
"pg-pool": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.2.tgz",
"integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w=="
"integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==",
"requires": {}
},
"pg-protocol": {
"version": "1.5.0"
@ -9273,15 +8944,6 @@
"punycode": {
"version": "2.1.1"
},
"pvtsutils": {
"version": "1.3.2",
"requires": {
"tslib": "^2.4.0"
}
},
"pvutils": {
"version": "1.1.3"
},
"queue-microtask": {
"version": "1.2.3",
"dev": true
@ -10769,7 +10431,8 @@
"ws": {
"version": "7.5.7",
"bundled": true,
"dev": true
"dev": true,
"requires": {}
},
"yallist": {
"version": "4.0.0",
@ -10895,7 +10558,7 @@
},
"ts-node": {
"version": "10.9.1",
"dev": true,
"devOptional": true,
"requires": {
"@cspotcode/source-map-support": "^0.8.0",
"@tsconfig/node10": "^1.0.7",
@ -10914,7 +10577,7 @@
"dependencies": {
"diff": {
"version": "4.0.2",
"dev": true
"devOptional": true
}
}
},
@ -10951,17 +10614,6 @@
}
}
},
"tsyringe": {
"version": "4.7.0",
"requires": {
"tslib": "^1.9.3"
},
"dependencies": {
"tslib": {
"version": "1.14.1"
}
}
},
"type-check": {
"version": "0.4.0",
"dev": true,
@ -11041,7 +10693,7 @@
"version": "4.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz",
"integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==",
"dev": true
"devOptional": true
},
"unicode-length": {
"version": "2.0.2",
@ -11089,17 +10741,7 @@
},
"v8-compile-cache-lib": {
"version": "3.0.1",
"dev": true
},
"webcrypto-core": {
"version": "1.7.5",
"requires": {
"@peculiar/asn1-schema": "^2.1.6",
"@peculiar/json-schema": "^1.1.12",
"asn1js": "^3.0.1",
"pvtsutils": "^1.3.2",
"tslib": "^2.4.0"
}
"devOptional": true
},
"webidl-conversions": {
"version": "7.0.0"
@ -11267,7 +10909,7 @@
},
"yn": {
"version": "3.1.1",
"dev": true
"devOptional": true
},
"yocto-queue": {
"version": "0.1.0",

View File

@ -41,13 +41,12 @@
"@boxyhq/saml20": "1.0.6",
"@opentelemetry/api": "1.0.4",
"@opentelemetry/api-metrics": "0.27.0",
"@peculiar/webcrypto": "1.4.0",
"axios": "^0.27.2",
"@peculiar/x509": "1.8.3",
"jose": "4.9.3",
"marked": "4.1.0",
"mongodb": "4.9.1",
"mysql2": "2.3.3",
"node-forge": "1.3.1",
"pg": "8.8.0",
"redis": "4.3.1",
"reflect-metadata": "0.1.13",
@ -76,4 +75,4 @@
"engines": {
"node": ">=14.18.1 <=16.x"
}
}
}

View File

@ -1,43 +1,42 @@
import * as x509 from '@peculiar/x509';
import { Crypto } from '@peculiar/webcrypto';
import * as forge from 'node-forge';
const pki = forge.pki;
const generate = () => {
const today = new Date();
const keys = pki.rsa.generateKeyPair(2048);
const cert = pki.createCertificate();
cert.publicKey = keys.publicKey;
cert.serialNumber = '01';
cert.validity.notBefore = new Date();
cert.validity.notAfter = new Date(today.setFullYear(today.getFullYear() + 10));
const attrs = [
{
name: 'commonName',
value: 'BoxyHQ Jackson',
},
];
cert.setSubject(attrs);
cert.setIssuer(attrs);
cert.setExtensions([
{
name: 'basicConstraints',
cA: false,
},
{
name: 'keyUsage',
keyCertSign: false,
digitalSignature: true,
nonRepudiation: false,
keyEncipherment: false,
dataEncipherment: false,
},
]);
// self-sign certificate
cert.sign(keys.privateKey, forge.md.sha256.create());
const crypto = new Crypto();
x509.cryptoProvider.set(crypto);
const alg = {
name: 'RSASSA-PKCS1-v1_5',
hash: 'SHA-256',
publicExponent: new Uint8Array([1, 0, 1]),
modulusLength: 2048,
};
const generate = async () => {
const keys = await crypto.subtle.generateKey(alg, true, ['sign', 'verify']);
const extensions: x509.Extension[] = [new x509.BasicConstraintsExtension(false, undefined, true)];
extensions.push(new x509.KeyUsagesExtension(x509.KeyUsageFlags.digitalSignature, true));
if (keys.publicKey) {
extensions.push(await x509.SubjectKeyIdentifierExtension.create(keys.publicKey));
}
const cert = await x509.X509CertificateGenerator.createSelfSigned({
serialNumber: '01',
name: 'CN=BoxyHQ Jackson',
notBefore: new Date(),
notAfter: new Date('2049-12-31T23:59:59Z'),
signingAlgorithm: alg,
keys: keys,
extensions,
});
if (keys.privateKey) {
const pkcs8 = await crypto.subtle.exportKey('pkcs8', keys.privateKey);
return {
publicKey: cert.toString('pem'),
privateKey: x509.PemConverter.encode(pkcs8, 'private key'),
};
}
return {
publicKey: pki.certificateToPem(cert),
privateKey: pki.privateKeyToPem(keys.privateKey),
};
};
export default {