{"_id":"@1000turquoisepogs/zcrypto","_rev":"7-0d68fd8d5bb92526dffe850fdb29ff81","name":"@1000turquoisepogs/zcrypto","dist-tags":{"latest":"1.5.0-rc5"},"versions":{"1.4.0":{"name":"@1000turquoisepogs/zcrypto","version":"1.4.0","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"build":"node-gyp-build","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*","test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec","install":"node-gyp rebuild"},"repository":{"type":"git","url":"git+https://github.com/ibmruntimes/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gypfile":true,"gitHead":"ab907d0baa8cad67f497341952af973f668bdf25","bugs":{"url":"https://github.com/ibmruntimes/node-zcrypto/issues"},"homepage":"https://github.com/ibmruntimes/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.4.0","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-x0pcnhxW0JSa03Upli8jcwE2txI/Lf6vHr4YVGGAMU+HuNL+HcFYNoVB0eGC3B382HqCT0z/F+wIdhjUmpRC5g==","shasum":"0bc75614832d9c97002bbdbab6b30535721c91c6","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.4.0.tgz","fileCount":19,"unpackedSize":327722,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkkHB7FY/wXzhBBD7RyUi+nm62X+6Vv38Wi1P6zrgaHwIhAPxJdqnwq5biuCmZ13Qr3zigGX18Edrayqfu06APtvmv"}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.4.0_1705957499505_0.5473219408959482"},"_hasShrinkwrap":false},"1.4.1":{"name":"@1000turquoisepogs/zcrypto","version":"1.4.1","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"install":"node-gyp-build","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*","test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec"},"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gitHead":"ab907d0baa8cad67f497341952af973f668bdf25","bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.4.1","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Nr3sH+oCXgmEnoAdpH/d4ijI4AJtgqKfN/CLyD7mJzUKUxF5jRnEqURNQghOBZ29n2/hI24I+eiW/XESWEzOEw==","shasum":"5efbda4fe2650db9f35b122de01af3193b7e62af","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.4.1.tgz","fileCount":19,"unpackedSize":327789,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1VdXAqcqkCIiYbXYqol+LtfnzwXc246l2fDrID/AvhAiEAw+KJ4Dfj68nwDjq30aQm6fxVgMyYkXAE1RW7OsYLL4M="}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.4.1_1705958092436_0.1758066044454054"},"_hasShrinkwrap":false},"1.4.2-rc1":{"name":"@1000turquoisepogs/zcrypto","version":"1.4.2-rc1","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"install":"node-gyp-build","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*","test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec"},"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gitHead":"ab907d0baa8cad67f497341952af973f668bdf25","bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.4.2-rc1","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-C76ISwVMDOumYuF+q26ryCKlF8RTqT6DZ4LolP6osMgczYMf0eSRJLDKS+J+d0VRI1gDCBLjokjXW9TmPtWTEQ==","shasum":"3914b7e721e3e0df704883160dd11821a8432648","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.4.2-rc1.tgz","fileCount":19,"unpackedSize":327786,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrH7PxR0hUo1N5r4Phc/daG2HK3FycTqJb9DDaWW4rPAIgUtbRTxPoPOsv1Au4hs9enRy38lDeR6jiIdM6pUIhN8I="}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.4.2-rc1_1705960253311_0.8041989192933123"},"_hasShrinkwrap":false},"1.5.0-rc1":{"name":"@1000turquoisepogs/zcrypto","version":"1.5.0-rc1","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"install":"node-gyp-build","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*","test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec"},"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gitHead":"94d28b70433147225fcf3505232782f399a18eae","bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.5.0-rc1","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-RQuRwborhxlyKdn5aRIa7SMXuEvEjGsbcoQHA9YSYKNHmOdGbHVMfZ6CBbx4nLEiPxPer9NqnOxeQa9lj1j0ig==","shasum":"5b65ab500b183ea244a1da4d1005638c11e6e5c3","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.5.0-rc1.tgz","fileCount":20,"unpackedSize":615958,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh/mZWW2rri/4WawpSEcx3jTyyME3nnBQlpKw5QL0JIwIgfqqcHIYpN1viI59FZARMU9wVsDhL78V6/njE1RWIkQ4="}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.5.0-rc1_1709323899821_0.3440943790872939"},"_hasShrinkwrap":false},"1.5.0-rc2":{"name":"@1000turquoisepogs/zcrypto","version":"1.5.0-rc2","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"install":"node-gyp-build","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*","test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec","prepublishOnly":"rm -rf build node_modules"},"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gitHead":"b49ef4c04df9ba4ce5f594b43efcaae3dca04204","bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.5.0-rc2","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-q7PYVKJvfsyCiiuYJJU+BU9YCVXjtpEuJKWu/7DKjAhguhMmemZamvOaST+pTb1zHHZL2srZJdCoggCx9peTMA==","shasum":"d98916b7c36acf469443a7709fc36cb195729043","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.5.0-rc2.tgz","fileCount":18,"unpackedSize":55240,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyZVKU6QxADedfrgDCAbhahRvS17M7F86EQ0RFl0Ww0QIgf2LCuxgGyzL/XEHMEWSJ8L1OXnw5WwI/CWGu/MyBY20="}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.5.0-rc2_1709584252363_0.22733646848638167"},"_hasShrinkwrap":false},"1.5.0-rc3":{"name":"@1000turquoisepogs/zcrypto","version":"1.5.0-rc3","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"install":"node-gyp-build","test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*"},"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gitHead":"abb7c452fff0e8af7cbf5f261ccadf638bef7d6d","bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.5.0-rc3","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-Hm9a3hyVfDZAQeehjmTCYKpaPL4KeAGGpR87PKOkoi4MOLIfZri3oNK48hoKHWsjD24pdQ0thdibHcB5gz+dnA==","shasum":"9c18133b6095aca0c02eb740df88ea897491a4a4","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.5.0-rc3.tgz","fileCount":19,"unpackedSize":346071,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHCO0Xz9HBocva6xXi6sBEFhvxBKWqXltfLzLViegMxTAiAhn+hfOJJWzj/jevARZtQ7fotW+v6gICJC8DPDN7jiNg=="}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.5.0-rc3_1709651664322_0.7941345529794874"},"_hasShrinkwrap":false},"1.5.0-rc4":{"name":"@1000turquoisepogs/zcrypto","version":"1.5.0-rc4","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*"},"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gitHead":"abb7c452fff0e8af7cbf5f261ccadf638bef7d6d","bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.5.0-rc4","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-pSAHgIdXWavJ8o0TRSvLM3F1NhtRLNQLKWZebpEZlnVmbF3ZGANPR3lqMR1NrGuqmqlD74C+OpaHn6kim3HWTQ==","shasum":"bd6ceebb079db5328b3f00b375e0df16b0882985","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.5.0-rc4.tgz","fileCount":18,"unpackedSize":345202,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICAbzLHkKT3HHJTkzSTSe48PT4bNDSbQ5L2xOqL7RqNkAiEAvIQVZqerGoBndLYeN6Pn4kEtrE152getTI4bXyH3AIo="}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.5.0-rc4_1709671315746_0.9467432964700742"},"_hasShrinkwrap":false},"1.5.0-rc5":{"name":"@1000turquoisepogs/zcrypto","version":"1.5.0-rc5","description":"A z/OS RACF keyring/kdb crypto npm for z/OS","main":"index.js","scripts":{"test":"./setup.sh && ./node_modules/.bin/mocha -b -t 40000 --reporter spec","prebuild":"prebuildify --napi && chtag -tc 1047 prebuilds/os390-s390x/*"},"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"keywords":["zos","crypto","keyring","RACF"],"dependencies":{"node-addon-api":"^1.6.3","node-forge":"^1.2.1","tmp":"^0.1.0","yargs-parser":"^20.2.7"},"devDependencies":{"async":"^1.5.0","chai":"^4.1.2","mocha":"^9.2.1","node-gyp-build":"^4.8.0","prebuildify":"^6.0.0"},"author":{"name":"Igor Todorovski"},"license":"Apache-2.0","gitHead":"abb7c452fff0e8af7cbf5f261ccadf638bef7d6d","bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","_id":"@1000turquoisepogs/zcrypto@1.5.0-rc5","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-JcQuj9ntP71BAA0mbHYgn+4topn9x3XlmOEqO3YY99H11TbCqV8oVqsnvIyhE4HxqvoaUUw2cHMD3CbyCcsU4g==","shasum":"7557d879a6f78b8313cba186cd7125bd5c7e8cda","tarball":"https://registry.npmjs.org/@1000turquoisepogs/zcrypto/-/zcrypto-1.5.0-rc5.tgz","fileCount":18,"unpackedSize":345202,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEcTZ3orbQdrmsD8TI79XnSEfqzuY2Tth43Hcv2EosRwIgVV+oqRkOqh+Cb4yoRig2+va5cugccqj66lztMk2ljCE="}]},"_npmUser":{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"},"directories":{},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zcrypto_1.5.0-rc5_1709733788591_0.6957576025716592"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-22T21:04:59.374Z","1.4.0":"2024-01-22T21:04:59.666Z","modified":"2024-03-06T14:03:09.363Z","1.4.1":"2024-01-22T21:14:52.627Z","1.4.2-rc1":"2024-01-22T21:50:53.457Z","1.5.0-rc1":"2024-03-01T20:11:39.990Z","1.5.0-rc2":"2024-03-04T20:30:52.534Z","1.5.0-rc3":"2024-03-05T15:14:24.474Z","1.5.0-rc4":"2024-03-05T20:41:55.954Z","1.5.0-rc5":"2024-03-06T14:03:08.756Z"},"maintainers":[{"name":"1000turquoisepogs","email":"sgrady@rocketsoftware.com"}],"description":"A z/OS RACF keyring/kdb crypto npm for z/OS","homepage":"https://github.com/1000turquoisepogs/node-zcrypto#readme","keywords":["zos","crypto","keyring","RACF"],"repository":{"type":"git","url":"git+https://github.com/1000turquoisepogs/node-zcrypto.git"},"author":{"name":"Igor Todorovski"},"bugs":{"url":"https://github.com/1000turquoisepogs/node-zcrypto/issues"},"license":"Apache-2.0","readme":"# zcrypto\nThe zcrypto NodeJS module provides APIs to RACF key rings and KDB (key databases) in z/OS.\n\n## Background\n\nThis module leverages the [Certificate Management Services (CMS)](https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.4.0/com.ibm.zos.v2r4.gska100/sssl2cms1000455.htm) API.\nThe APIs in this module can be used to create/manage your own key database files,\nand extract certificates stored in the key database file or RACF key ring.\n\n## Installation\n\n<!--\nThis is a [Node.js](https://nodejs.org/en/) module available through the\n[npm registry](https://www.npmjs.com/).\n-->\n\nIBM SDK for Node.js - z/OS 14.0 or IBM Open Enterprise SDK for Node.js 16 or higher is required.\n\n## Simple to use\n\n### Install\n\n```bash\nnpm install zcrypto\n```\n\n### Using zcrypto with RACF Keyrings\nThis assumes that a RACF Keyring was created and connected to a RACF private/public certificate and certificate authority.\n\n```js\nconst zcrypto = require('zcrypto');\n\n// Create an object of a zcrypto\nvar crypt = new zcrypto.ZCrypto();\n\n// Open RACF Keyring labelled MYRING1\ncrypt.openKeyRing(\"MYRING1\");\n\n// Export RACF private/public keys labeled \"ServerCert\" to PKCS1 format\nvar pem = zcrypto.exportKeysToPKCS1(crypt, \"ServerCert\");\n\n// Or export RACF private/public keys labeled \"ServerCert\" to PKCS8 format\npem = zcrypto.exportKeysToPKCS8(crypt, \"ServerCert\");\n\n// pem object contains pem.key, pem.cert and pem.publickey\n\n// Export RACF ca certificate labeled \"CaCert\" to PEM format\nvar cacert = zcrypto.exportCertToPEM(crypt, \"CaCert\");\n\n// Launch a HTTPS web server with private key and certificate authority\nconst https = require('https'); \n\n// Configuration for the HTTPS web server.\nconst options = {\n  key: pem.key,\n  cert: pem.cert\n};\n\n// Create the https server and begin listening for requests.\nhttps.createServer(options, (req, res) => {\n  res.writeHead(200); \n  res.end('hello world\\n'); \n}).listen(3000); // Listen for requests on port 3000.\n```\n\n### Using zcrypto with KDB (Key Databases)\n\n```js\nconst zcrypto = require('zcrypto');\n\n// Create an object of a zcrypto\nvar crypt = new zcrypto.ZCrypto();\n\n// Example: Create a KDB file with a password, length and expiry time\ncrypt.createKDB(\"my.kdb\", \"root\", 10024, 0);\n\n// Example: Open kdb file if it exists\ncrypt.openKDB(\"my.kdb\", \"root\");\n\n// Import a P12 file as Cert.p12 using password and label\n// Update only allowed for KDB\ncrypt.importKey(\"Cert.p12\", \"root\", \"MYCERT3\");\n\n// Export to P12 using password and label\nvar pem = crypt.exportKeyToFile(\"Cert.p12.nodedup\", \"root\", \"MYCERT3\");\n\n// Or export directly from a P12 File to PEM\npem = zcrypto.exportP12FileToPEM(\"Cert.p12\", \"root\");\n\n// Launch a HTTPS web server\nconst https = require('https'); \n\n// Configuration for the HTTPS web server.\nconst options = {\n  key: pem.key,\n  cert: pem.cert,\n};\n\n// Create the https server and begin listening for requests.\nhttps.createServer(options, (req, res) => {\n  res.writeHead(200); \n  res.end('hello world\\n'); \n}).listen(3000); // Listen for requests on port 3000.\n```\n\n### Examples\nSee [examples](/examples) \n\n### How to generate a RACF private/public certificate and RACF keyring\nEnsure that your z/OS Userid has CONTROL access to RACF facility classes `IRR.DIGTCERT.GENCERT`, `IRR.DIGTCERT.CERTAUTH`, and `IRR.DIGTCERT.ADD`\n\nModify and submit job cert.jcl:\n`submit cert.jcl`\n\n### How to generate a pkcs12 for import into KDB\n```bash\n# Must be performed on a non-z/OS machine and then transferred to z/OS as binary\nopenssl genrsa -out privatekey.pem 1024 \nopenssl req -new -key privatekey.pem -out certrequest.csr\nopenssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem\nopenssl pkcs12 -export -out Cert.p12 -in certificate.pem -inkey privatekey.pem -passin pass:password -passout pass:password\n```\n","readmeFilename":"README.md"}