{"_id":"lcryptowrap","_rev":"192-bf5ffcdb4be3da7cfeb515461e98e420","name":"lcryptowrap","dist-tags":{"latest":"3.0.21"},"versions":{"2.0.3":{"name":"lcryptowrap","version":"2.0.3","author":{"name":"Light Well Organization"},"_id":"lcryptowrap@2.0.3","maintainers":[{"name":"notmeagain","email":"notmeagain.smile@gmail.com"}],"dist":{"shasum":"cf6a63e2bbf6491d664143964dafcce62ca5de05","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-2.0.3.tgz","fileCount":138,"integrity":"sha512-XZ+v8Y+xSVfzrE7bJJ6k5Tcm6YKhDQg1iiNGbej6Lnx0a7IypNpLL4CgCexiBXsvgtn+JOlobeZ2aGm5AS8/Nw==","signatures":[{"sig":"MEUCIQCkIbgro3QwyqBRjvMjExsmyZ21TiRDTN067AD/HPDLDQIgSm/hqHBt3fh5MDz5G4mxeQSVZ7x1mUNJVKvvoNmye9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21227195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIZc2CRA9TVsSAnZWagAAvkIP/j1CtEEfhYzhS81lXFQD\n0ID6TtxLGKencZSD3wuVi5DIiYN9UuL7BcVSEp7plSkel9Nguk5N9cQ/2KaW\nnD5RySR4pITsFavgGtIe7rm45R+anDoqDnIQIf05GIK81imNgGOcIe8kU8j9\nh1k5puqXQRgWkNctUHRl+eN2kvPNGrgHvalrs36UOpBIZlgdcR0B8qdCX2RB\nemirYvza5Pe2+gep5GVe6EuBx4bKeR2oj+NKUHYtxWqKJCS8wqoDq/rrwChP\nEaIbbmL9l1U4OQ5zCnq/hgVMEdNbFr8xAhFG0MX6IiELlLbDrBydt1fbOfTN\nP6PpmbEaYUGH3Iozit8aYJVueSN48zg4sp1YYm024N62drSkapPqZN1Ubt6/\nhfv+1ItGy4+06SeR/2J7xuR0l6uomk69X/Arxk37xo05KYsZ/Ij8gvYgWkEZ\nJwE9HF6LDu3ythrs+JrCsD14WeceDEnEwM52dnxC3L8UllKXoIFazPCxf2e7\nt98Rh5icTM+MDdUGUpmX27JPVdEAysUff5CfpR5H91msQ3E6BlBsrCg31jq9\nx6wf5lEdecLMgRdudQUVOcmMSqCe8ge+P3AeGnnvVZdDJfCH/U7xHAhEGd4s\nTWF3yuyyKJuM7DHyKiBgOdFBklrvAt8YWAUTE/pam1NbWC3OuVbQUuDWk4ks\nW7EH\r\n=HZUD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"index.d.ts","gypfile":true,"scripts":{"build":"node-gyp rebuild","install":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=6.0.1 --dist-url=https://atom.io/download/electron"},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"_npmVersion":"6.1.0","description":"Crypto Library with Belarusian cryptography","directories":{},"_nodeVersion":"10.5.0","dependencies":{"nan":"^2.14.0","node-gyp":"^6.1.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/lcryptowrap_2.0.3_1579259701647_0.8562405192900695","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"lcryptowrap","version":"1.5.0","author":{"name":"Light Well Organization"},"_id":"lcryptowrap@1.5.0","maintainers":[{"name":"notmeagain","email":"notmeagain.smile@gmail.com"}],"dist":{"shasum":"ce1820e557133003202ec5728bbfa0bb3babb926","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-1.5.0.tgz","fileCount":142,"integrity":"sha512-vXPKFAFQvL3cnJVINkIj90ka74dnBCOUuAm4IYEetJ/mxNuoS4Ly8Lxq5ldBhcOsGYJ5JU5szUPK/Y0VSMjNgA==","signatures":[{"sig":"MEUCIQCyEffk/JOkWiuHcAWO0pKpsSJKjWyVvwsQ1F5dY/uHXQIgSAdOSpOEzzbc3ow7u4x09XZw9f/yCCqa6fft8wsOjJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23915443},"main":"index.js","types":"index.d.ts","gitHead":"c247a198a1e2b6889a7c762c4933b1121b63f7ad","gypfile":true,"scripts":{"build":"node-gyp rebuild","install":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=9.0.5 --dist-url=https://atom.io/download/electron"},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"_npmVersion":"8.1.0","description":"Crypto Library with Belarusian cryptography","directories":{},"_nodeVersion":"16.13.0","dependencies":{"nan":"^2.15.0","node-gyp":"^8.4.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/lcryptowrap_1.5.0_1636539297770_0.8625712350767323","host":"s3://npm-registry-packages"}},"3.0.14":{"name":"lcryptowrap","version":"3.0.14","author":{"name":"Light Well Organization"},"_id":"lcryptowrap@3.0.14","maintainers":[{"name":"notmeagain","email":"notmeagain.smile@gmail.com"}],"dist":{"shasum":"1f9fd838bc9d8420606bb43996d21a91e847174f","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-3.0.14.tgz","fileCount":143,"integrity":"sha512-JLHS34L+qabBcHunA1nNOwnN6mqygHNWozoFHotoLbBys5wfULsQhzNSUfak/8ZkGV5qWcG5SNhGQMHN126Ttg==","signatures":[{"sig":"MEUCIFk+3aTMQBK1R2k9swEc6vzdxAIAcOS/DK3nQrDMvpbkAiEA0iGewg93XQslbbycj52w4w3vwxMDu1QcpLmmxs+mXCI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26233011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNSCPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrd8g//WDjXdSlLqL2nA3IJZMAjztOMtEUbz2QTHnFNWQihzj+fKFEv\r\nRepBF37kNO9pf7j6EpfMDbT4nAG8h+70ERhkzd/dIk1+WNQtEZMiiv5mgAR3\r\nnBtVhDbug0DTD06/5AYyvpzuPUTHWhxVkwe+viAXjkYKR8RzBNxKtinmk523\r\nsGMrlZHe/Di/IT4etzrlsK3l7A9UdYrCqyIN81poYQcIXV6bZnx2hWNFhoUX\r\nV8hriDS9PtuYJgLFpxpM0xhjsr7nIceLZ6eNfBxyYa0eBf9bA1iH2iPPDyd2\r\no7R/Njsd9i6FUGROVgH6C0lMC7njF8BezFFH6qvDbndVWiByfH01lotcw7Yr\r\ndQxVYlJ3nUMJKavzaXNG+Ll6z4I3w0By0ulj9WIJ9VcO1OUObkx28di5HfO0\r\ntN0QAlSzfAGKWNB4YH5ngEE9OvUDXtMLVI/QgQ6P1XmSAZXc9oFdUvwXMjis\r\neKUdqoOtm5HqB+3/M1YBJBD70V+k86mwy5GsrGBg4jFsqq29of0t/NMckNO5\r\na+BVjc5O4RwzGbIqLBmR86+tu77X5Prpmro4snHRegk10jh3K4GMh/nGkJZf\r\nHK8FkptZ5r5gbSkiNuOVTS/Ezr/CYEBhKwzX8CaMrUHYEcHY+MDUX+yUg8X6\r\nVqcgjWR6katyuoNIw/u2A3WCGOYqOO8s/bs=\r\n=vF7c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"index.d.ts","gitHead":"7501700adf3099792f21ef19b3bb0cc44b2d7821","gypfile":true,"scripts":{"build":"node-gyp rebuild","install":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=9.4.4 --dist-url=https://atom.io/download/electron"},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"_npmVersion":"9.5.0","description":"Crypto Library with Belarusian cryptography","directories":{},"_nodeVersion":"18.15.0","dependencies":{"nan":"^2.17.0","bindings":"^1.5.0","node-gyp":"^9.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/lcryptowrap_3.0.14_1681203342607_0.7338113743700567","host":"s3://npm-registry-packages"}},"2.0.7":{"name":"lcryptowrap","version":"2.0.7","author":{"name":"Light Well Organization"},"_id":"lcryptowrap@2.0.7","maintainers":[{"name":"notmeagain","email":"notmeagain.smile@gmail.com"}],"dist":{"shasum":"af0522bbb5c75bbe6c016f45ed02b24f1bb975b0","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-2.0.7.tgz","fileCount":137,"integrity":"sha512-DazyLrhZ0wF1LctX+iWg2Mrl4rl2Khy36F0lYPWgoHDSm//SzTaxPic4UevQFPVdtQmOsJRV2LiFYh+GrhiNHA==","signatures":[{"sig":"MEUCIQCKcERAU5o414iUKah5IVSQihhEA4tbAOYj7P6/t+xAEQIgXJxKtItq0/v4PwTlp1F0yrd+mj8ExEud5GKTdKAH+hE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21229452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPngeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpsFBAAk3fGDvtz/fyYXLdAexk90l5bmobW/Mx/7cb070ui7mzh29k5\r\n2dflfS9mV3s5Gs2kN4B4+RbBSzRwEpHB8FBhsCaJ4Nzs0qKBwzyAtbgKcRve\r\nh/mIp+kSB1/1z1W67hrJexyLGxPSUHwUm/N40d2/RAtlbT5GmxdZREzHAwxP\r\ngKz5tdabvzq07xnCznhq77j7c5Dza7lTIVGG9q33ZISZGwUKNdIoU+kHbQNC\r\ne6QMQ0rPZDYskLIcDBJJ9sEtvZvl786IZBbO2JaCVtJFqM19J2CAKnjHQpaA\r\nA7ryIwALrdySojmhqrAhOkqzbO0DtpncGbORtmfiMvLa16Itt/mtoQ/LaO6+\r\njGHuL+eRLWVTVZQiZ8Elf7wypx+9NnYryx82SKzTY/5OVUAaXacfrecqNqCv\r\nzzug3iFLzvbq3MTKU9s72orS1hf81FV+0FRtTq0Wm7HBBiGmwd8qfTa+OxlZ\r\n5wMcFAn7UC6dFOht2b2Vz7eBQbPpK37BKuuj0PLix4ggJCNOXbTtirsA/Jfc\r\nOYGc1xxINwklKP4b1kMWJ4k97RAFGcPpctooXDixLgvuzzekZz+mDQ3OyMy4\r\nfyuETNufW2SGUCM3iH2/+s6MkR0TAej7MWJH+Hh4mRQX9ziCuIfqg/LkwdEc\r\njbEJduNJoWw3+NbQH8FDQiSaZ4I25Dc9u9U=\r\n=q4LI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"index.d.ts","gitHead":"c6ab3b6b617662e9e436341d9673a740a45cec05","gypfile":true,"scripts":{"build":"node-gyp rebuild","install":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=9.3.2 --dist-url=https://atom.io/download/electron"},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"_npmVersion":"9.5.1","description":"Crypto Library with Belarusian cryptography","directories":{},"_nodeVersion":"18.16.0","dependencies":{"nan":"^2.17.0","node-gyp":"^9.3.1"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/lcryptowrap_2.0.7_1681815582443_0.16098797623830086","host":"s3://npm-registry-packages"}},"3.0.15":{"name":"lcryptowrap","version":"3.0.15","author":{"name":"Light Well Organization"},"_id":"lcryptowrap@3.0.15","maintainers":[{"name":"mn_lwo","email":"mushtukova_n@lwo.by"},{"name":"notmeagain","email":"notmeagain.smile@gmail.com"}],"dist":{"shasum":"cdb7b67e98e941038e806df5375636190f88c910","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-3.0.15.tgz","fileCount":143,"integrity":"sha512-cXWLRhjiDC+aqlkyZoSlSUSTquROqqFnMjOIAksJ7E6StBlcOBV5vOGm63lv+yjDTIolTbvFQGWLHdBj0spLWw==","signatures":[{"sig":"MEYCIQCi5dWH6YLv7KbIx0bbDnPRN33xKY45ghwp4MRuXLR25AIhALIJJM40Ng2JvtAleXYw7ef9vKPJlydlPPYZwlYba22R","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26232996},"main":"index.js","types":"index.d.ts","gitHead":"6713f9e11a60a059fd30fa273a42ba39ddaf9508","gypfile":true,"scripts":{"build":"node-gyp rebuild","install":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=9.4.4 --dist-url=https://atom.io/download/electron"},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"_npmVersion":"9.6.7","description":"Crypto Library with Belarusian cryptography","directories":{},"_nodeVersion":"18.17.0","dependencies":{"nan":"^2.17.0","bindings":"^1.5.0","node-gyp":"^9.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/lcryptowrap_3.0.15_1701156699516_0.009446838254645984","host":"s3://npm-registry-packages"}},"3.0.17":{"name":"lcryptowrap","version":"3.0.17","author":{"name":"Light Well Organization"},"_id":"lcryptowrap@3.0.17","maintainers":[{"name":"mn_lwo","email":"mushtukova_n@lwo.by"},{"name":"notmeagain","email":"notmeagain.smile@gmail.com"}],"dist":{"shasum":"4ff92277c38ab398ee86e72d26bae8c04cf055aa","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-3.0.17.tgz","fileCount":181,"integrity":"sha512-9tnP/ByLRnvh1c1yQfv33PGbXsQ7DdlQgAwsraYyhto6wA4iMZm9Z9teGpzKCjU4LiFWhXikPP2JOwhoT1k5mg==","signatures":[{"sig":"MEUCIQC4mpz3+zE50DRrdn/VNiUmzYkweSN5z5t4bnihoagdQAIgCeE4M527E6TcQuoBGPjKM26G3RW5hmZZI8jg1nyCb9g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39748104},"main":"index.js","types":"index.d.ts","gitHead":"06e8ac0d158d6f545fdc8faf4055eec3d7f17348","gypfile":true,"scripts":{"build":"node-gyp rebuild","install":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=9.4.4 --dist-url=https://atom.io/download/electron"},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"_npmVersion":"9.6.7","description":"Crypto Library with Belarusian cryptography","directories":{},"_nodeVersion":"18.17.0","dependencies":{"nan":"^2.17.0","bindings":"^1.5.0","node-gyp":"^9.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/lcryptowrap_3.0.17_1718350597296_0.8431433186142554","host":"s3://npm-registry-packages"}},"3.0.20":{"name":"lcryptowrap","version":"3.0.20","author":{"name":"Light Well Organization"},"_id":"lcryptowrap@3.0.20","maintainers":[{"name":"mn_lwo","email":"mushtukova_n@lwo.by"},{"name":"notmeagain","email":"notmeagain.smile@gmail.com"}],"dist":{"shasum":"da277e1d11ad9948703664145f3bac2d8ad3afa8","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-3.0.20.tgz","fileCount":181,"integrity":"sha512-l1un+rMZ56iV+MX4l6oqdzA/4nQ1I3XS0sKWI7QTxuR0JADfLw6hGKgLfzTQMCdgacHg6rO+7EmNheGIhdJ4Dw==","signatures":[{"sig":"MEYCIQCGX0WfXbWPW8otPnIuW3pM0gTmoX8OPAIYH8Xr1+J6rgIhAJvTuWtjBGt0n0otr3nhqqIQvuD/YLcZP2WmVV2D6vhm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39688162},"main":"index.js","types":"index.d.ts","gitHead":"1ad58dcbf663688c0f65ad7163d836c6e9d115f7","gypfile":true,"scripts":{"build":"node-gyp rebuild","install":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=9.4.4 --dist-url=https://atom.io/download/electron"},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"_npmVersion":"9.5.0","description":"Crypto Library with Belarusian cryptography","directories":{},"_nodeVersion":"18.15.0","dependencies":{"nan":"2.20","node-gyp":"^9.4.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/lcryptowrap_3.0.20_1725523115999_0.02629442574886709","host":"s3://npm-registry-packages"}},"3.0.21":{"name":"lcryptowrap","version":"3.0.21","description":"Crypto Library with Belarusian cryptography","main":"index.js","types":"index.d.ts","author":{"name":"Light Well Organization"},"scripts":{"build":"node-gyp rebuild","build:electron":"node-gyp rebuild --target=28.0.0 --dist-url=https://atom.io/download/electron","install":"node-gyp rebuild"},"gypfile":true,"dependencies":{"mocha":"^11.7.2","nan":"^2.23.0","node-gyp":"^11.4.2"},"_id":"lcryptowrap@3.0.21","gitHead":"c191a55f277dc0cdc37ec80ff004ee9d9423564e","_nodeVersion":"18.18.0","_npmVersion":"9.8.1","dist":{"integrity":"sha512-SlzbftfdhrpkzqGWgZQO7Y7eUnJgArDz0c3903P3aFNaxVjf9IOgm09AI+hzYINdTXE/XzH/6j+Hagc0mIWcDQ==","shasum":"e77c82d147d6e5ed6d79768bc44ea9417607d5d2","tarball":"https://registry.npmjs.org/lcryptowrap/-/lcryptowrap-3.0.21.tgz","fileCount":178,"unpackedSize":39335616,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDQzrcShXEgBoRzo881Sh6yAXLGczdu2IsTa3flkcqhqAIhAOQw3Pr8J/RihBNx1yu7dHWZXlrPaflK35R98ng8GMSe"}]},"_npmUser":{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},"directories":{},"maintainers":[{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},{"name":"mn_lwo","email":"mushtukova_n@lwo.by"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lcryptowrap_3.0.21_1757338311075_0.23448762412210078"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-04T12:02:11.653Z","modified":"2025-09-08T13:31:51.605Z","1.0.0":"2019-05-04T12:02:11.908Z","1.0.1":"2019-05-16T09:35:41.972Z","1.0.2":"2019-07-11T14:39:24.570Z","1.0.3":"2019-07-23T15:07:44.904Z","1.0.4":"2019-08-09T11:52:07.201Z","1.0.5":"2019-08-09T11:55:45.570Z","1.0.6":"2019-08-13T10:42:43.288Z","1.0.7":"2019-08-15T14:42:14.292Z","1.0.8":"2019-08-15T14:55:51.283Z","1.0.9":"2019-08-21T09:49:10.793Z","1.1.0":"2019-08-21T10:05:04.022Z","1.1.1":"2019-08-21T11:15:26.604Z","1.1.2":"2019-08-21T15:42:00.966Z","1.1.3":"2019-08-23T06:55:20.808Z","1.1.4":"2019-08-23T08:44:11.167Z","1.1.5":"2019-10-11T14:30:17.815Z","1.1.6":"2019-10-24T12:45:57.354Z","1.1.7":"2019-10-29T13:12:38.371Z","1.1.8":"2019-10-30T13:34:48.273Z","1.1.9":"2019-11-19T11:40:58.982Z","1.2.0":"2019-11-28T13:29:32.621Z","1.2.1":"2019-11-28T13:37:05.163Z","1.2.2":"2019-12-05T13:19:18.295Z","2.0.0":"2019-12-23T08:48:53.842Z","1.2.3":"2019-12-23T09:54:00.717Z","1.2.4":"2019-12-23T10:02:29.136Z","1.2.5":"2019-12-26T14:47:14.012Z","2.0.1":"2019-12-26T14:47:42.887Z","1.2.6":"2020-01-14T14:58:12.643Z","2.0.2":"2020-01-14T14:58:30.307Z","1.2.7":"2020-01-17T11:14:33.910Z","2.0.3":"2020-01-17T11:15:02.188Z","1.2.8":"2020-05-11T14:28:28.106Z","1.3.0-beta":"2020-07-09T13:28:26.450Z","2.0.4":"2020-10-14T08:13:14.049Z","1.4.0":"2021-03-10T12:09:48.157Z","1.4.1":"2021-03-19T12:31:39.486Z","1.4.2":"2021-07-01T12:51:14.040Z","1.4.3":"2021-07-01T13:45:09.489Z","2.0.5":"2021-07-06T13:23:56.655Z","1.4.4":"2021-07-21T15:19:51.408Z","1.4.5":"2021-08-13T11:10:24.242Z","1.4.6":"2021-08-16T15:10:33.742Z","2.0.6":"2021-09-13T16:06:21.764Z","1.4.7":"2021-09-29T12:30:43.352Z","1.4.8":"2021-10-28T14:25:35.541Z","1.5.0":"2021-11-10T10:14:58.177Z","3.0.0":"2022-01-12T09:42:32.390Z","3.0.1":"2022-01-28T12:06:43.850Z","3.0.2":"2022-02-01T11:30:56.571Z","3.0.3":"2022-02-22T14:07:45.746Z","3.0.4":"2022-02-22T15:12:58.450Z","3.0.5":"2022-04-20T20:10:24.526Z","3.0.6":"2022-04-21T07:15:58.932Z","3.0.7":"2022-04-21T12:43:19.198Z","3.0.8":"2022-04-29T09:45:28.306Z","3.0.9":"2022-04-29T09:46:29.725Z","3.0.10":"2022-06-20T15:23:38.211Z","3.0.11":"2022-06-22T11:49:13.563Z","3.0.12":"2022-08-01T15:41:30.500Z","3.0.13":"2023-02-01T14:29:50.010Z","3.0.14":"2023-04-11T08:55:43.043Z","2.0.7":"2023-04-18T10:59:42.752Z","3.0.15":"2023-11-28T07:31:39.925Z","3.0.16":"2024-06-12T08:08:34.076Z","3.0.17":"2024-06-14T07:36:37.640Z","3.0.18":"2024-07-16T08:31:09.655Z","3.0.19":"2024-09-05T07:19:37.511Z","3.0.20":"2024-09-05T07:58:36.342Z","3.0.21":"2025-09-08T13:31:51.409Z"},"author":{"name":"Light Well Organization"},"description":"Crypto Library with Belarusian cryptography","maintainers":[{"name":"notmeagain","email":"notmeagain.smile@gmail.com"},{"name":"mn_lwo","email":"mushtukova_n@lwo.by"}],"readme":"# Библиотека с криптографией\n\n### win, mac, linux (glibc)\n\nLinux with musl work too\n\n## Installation\n\n```bash\n$ npm install lcryptowrap\n```\n\nor\n\n```bash\n$ yarn add lcryptowrap\n```\n\n```bash\n$ yarn build\n\n--arch=ia32\n--target=9.0.5 --dist-url=https://atom.io/download/electron\n\n```\n\n## Usage\n\n```bash\nconst crypto = require('lcryptowrap');\n```\n\n## Functions\n\n```\nCreateDigest, CreateMac, CreateHmac,\nGenRandomCTR, GenRandomHMAC,\nGenRandomIntel, GenRandomSystem,\nCryptoRandom, CryptoPseudoRandom, RandomFIPS,\nGenEncryptKey,\nKeyExpansion, KeyConversion,\nEncrypt, Decrypt,\nCreateToken, DecodeToken,\nCreateSignDigest, VerifySignDigest,\nCreateSign, VerifySign,\nEncryptData, DecryptData,\nProtect, Unprotect,\nEncryptP7S, DecryptP7S,\nCreateSignP7S, VerifySignP7S, ConvertP7S,\nGenPrivateKey, SetPrivateKey,\nKeyProtect, KeyUnprotect, ChangePassword,\nGetKeyBytes, GetPublicKey,\nConvertPrivateKey, ConvertPublicKey,\nCreateRequest, VerifyRequest, ConvertRequest, GetRequestInfo,\nCreateCertificate, VerifyCertificate, ConvertCertificate, RevokeCertificate,\nCreateCRL, VerifyCRL, ConvertCRL,\nCreateP7B, ConvertP7B,\nBELS_shareKey, BELS_recoveKey\n```\n\nРеализация протокола BPACE двумя сторонами\n\n```\nBPACE_initA\nBPACE_sideA_step1\nBPACE_sideA_step2\nBPACE_sideA_final\n\nBPACE_initB\nBPACE_sideB_step1\nBPACE_sideB_step2\nBPACE_sideB_final\n```\n\n## API\n\n_CRYPTO_.\n\n- _CreateDigest(algorithm, data)_ - вычисление хэш-значения от сообщения\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - bash256, bash384, bash512, belt-hash\n    - blake2b512, blake2s256\n    - md4, md5, mdc2\n    - sha1, sha224, sha256\n    - sha3-224, sha3-256, sha3-384, sha3-512\n    - sha384, sha512, sha512-224, sha512-256\n    - shake128, shake256\n    - sm3\n  - _data_ - [REQUIRED] - данные\n- _CreateMac(data, key)_ - вычисление mac-значения\n  - _data_ - [REQUIRED] - данные\n  - _key_ - [REQUIRED] - 32байтовый ключ\n- _CreateHmac(data, key)_ - вычисление hmac-значения\n  - _data_ - [REQUIRED] - данные\n  - _key_ - [REQUIRED] - 32байтовый ключ\n- _GenRandomCTR(number, key, iv)_ - генерация псевдослучайных чисел в режиме CTR\n  - _number_ - [REQUIRED] - кол-во 32байтовых случайных слов\n  - _key_ - [REQUIRED] - 32байтовый ключ\n  - _iv_ - [REQUIRED] - 32байтовая синхропосылка\n- _GenRandomHMAC(number, key, iv)_ - генерация псевдослучайных чисел в режиме HMAC\n  - _number_ - [REQUIRED] - кол-во 32байтовых случайных слов\n  - _key_ - [REQUIRED] - ключ\n  - _iv_ - [REQUIRED] - синхропосылка\n- _GenRandomIntel(size)_ - генерация случайности Intel (если возможно)\n  - _size_ - [REQUIRED] - число байт\n- _GenRandomSystem(size)_ - генерация случайности системной\n  - _size_ - [REQUIRED] - число байт\n- _CryptoRandom(random)_ - генерация случайности на основе функции хэширования\n  - _random_ - [REQUIRED] - байты случайности (33+)\n- _CryptoPseudoRandom(number, random)_ - генерация случайности на СТБ 34.101.47\n  - _number_ - [REQUIRED] - кол-во 32байтовых случайных слов\n  - _random_ - [OPTIONAL] - байты случайности (33+)\n- _RandomFIPS(random)_ - проверка FIPS 140-2 случайности 2500 байт (optimal)\n  - _random_ - [OPTIONAL] - случайность байт для проверки\n- _GenEncryptKey(random)_ - генерация 32байтового ключа\n  - _random_ - [OPTIONAL] - случайность байт\n- _KeyExpansion(key)_ - функция расширения ключа СТБ 34.101.31-2011 п 7.1\n  - _key_ - [REQUIRED] - личный ключ [16, 24, 32]\n- _KeyConversion(key, newKeyCount, level, header)_ - функция преобразования ключа СТБ 34.101.31-2011 п 7.2\n  - _key_ - [REQUIRED] - личный ключ [16, 24, 32]\n  - _newKeyCount_ - [REQUIRED] - размер преобразованного ключа в байтах\n  - _level_ - [OPTIONAL] - уровень ключа\n  - _header_ - [OPTIONAL] - заголовок преобразованного ключа\n- _Encrypt(algorithm, data, key, iv)_ - зашифрование данных\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - belt-ctr256, belt-ecb256, belt-cbc256, belt-cfb256\n  - _data_ - [REQUIRED] - данные\n  - _key_ - [REQUIRED] - 32байтовый ключ\n  - _iv_ - [OPTIONAL] - синхропосылка\n- _Decrypt(algorithm, data, key)_ - расшифрование данных\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - belt-ctr256, belt-ecb256, belt-cbc256, belt-cfb256\n  - _data_ - [REQUIRED] - данные\n  - _key_ - [REQUIRED] - 32байтовый ключ\n  - _iv_ - [OPTIONAL] - синхропосылка\n- _CreateToken(key, pubKey)_ - установка защиты на ключ\n  - _key_ - [REQUIRED] - защищаемый ключ\n  - _pubKey_ - [REQUIRED] - открый ключ или сертификат получателя\n- _DecodeToken(token, private_token, password)_ - снятие защиты с ключа\n  - _token_ - [REQUIRED] - токен ключа\n  - _private_token_ - [REQUIRED] - токен личного ключа получателя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n- _CreateSignDigest(algorithm, digest, private_token, password)_ - подпись хэш-значения от сообщения\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - bash256, bash384, bash512, belt-hash\n  - _digest_ - [REQUIRED] - хэш-значение\n  - _private_token_ - [REQUIRED] - токен личного ключа отправителя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n- _VerifySignDigest(algorithm, digest, pubKey, sign)_ - подпись сообщения\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - bash256, bash384, bash512, belt-hash\n  - _digest_ - [REQUIRED] - хэш-значение\n  - _pubKey_ - [REQUIRED] - открытый ключ или сертификат отправителя\n  - _sign_ - [REQUIRED] - подпись\n- _CreateSign(data, private_token, password)_ - подпись сообщения\n  - _data_ - [REQUIRED] - данные\n  - _private_token_ - [REQUIRED] - токен личного ключа отправителя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n- _VerifySign(data, pubKey, sign)_ - подпись сообщения\n  - _data_ - [REQUIRED] - данные\n  - _pubKey_ - [REQUIRED] - открытый ключ или сертификат отправителя\n  - _sign_ - [REQUIRED] - подпись\n- _EncryptData(algorithm, data, pubKey)_ - зашифрование данных с установкой защиты на ключ шифрования для получателя\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - belt-ctr256, belt-ecb256, belt-cbc256, belt-cfb256\n  - _data_ - [REQUIRED] - данные\n  - _pubKey_ - [REQUIRED] - открый ключ или сертификат получателя\n- _DecryptData(algorithm, data, token, private_token, password)_ - расшифрование данных\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - belt-ctr256, belt-ecb256, belt-cbc256, belt-cfb256\n  - _data_ - [REQUIRED] - данные\n  - _token_ - [REQUIRED] - токен ключа\n  - _private_token_ - [REQUIRED] - токен личного ключа получателя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n- _Protect(algorithm, data, private_token, password, pubKey)_ - зашифрование данных с установкой защиты на ключ шифрования для получателя и подписью отправителя\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - belt-ctr256, belt-ecb256, belt-cbc256, belt-cfb256\n  - _data_ - [REQUIRED] - данные\n  - _private_token_ - [REQUIRED] - токен личного ключа отправителя\n  - _password_ - [REQUIRED] - пароль к токену личного ключа или _null_\n  - _pubKey_ - [REQUIRED] - открый ключ или сертификат получателя\n- _Unprotect(algorithm, data, token, private_token, password, pubKey, sign)_ - снятие защиты с сообщения с проверкой подписи отправителя\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - belt-ctr256, belt-ecb256, belt-cbc256, belt-cfb256\n  - _data_ - [REQUIRED] - данные\n  - _token_ - [REQUIRED] - токен ключа\n  - _private_token_ - [REQUIRED] - токен личного ключа получателя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n  - _pubKey_ - [REQUIRED] - открытый ключ или сертификат отправителя\n  - _sign_ - [REQUIRED] - подпись\n- _EncryptP7S(algorithm, data, certificate, format, params)_ - защита сообщения\n  - _algorithm_ - [REQUIRED] - имя алгоритма\n    - belt-ctr256, belt-ecb256, belt-cbc256, belt-cfb256\n  - _data_ - [REQUIRED] - данные\n  - _pubKey_ - [REQUIRED] - сертификат получателя в байтах\n  - _format_ - [OPTIONAL] - формат выходного сообщение\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n    - 2 - FORMAT_SMIME\n  - _params_ - [OPTIONAL] - формат выходного сообщение\n    - FORMAT_PKCS7_USE_KEYID - использование subjectKeyIdentifier\n- _DecryptP7S(data, private_token, password)_ - снятие защиты с сообщения\n  - _data_ - [REQUIRED] - данные\n  - _private_token_ - [REQUIRED] - токен личного ключа получателя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n- _CreateSignP7S(data, private_token, password, certificate, format, params)_ - подпись сообщения с выходных форматом\n  - _data_ - [REQUIRED] - данные\n  - _private_token_ - [REQUIRED] - токен личного ключа отправителя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n  - _certificate_ - [REQUIRED] - сертификат отправителя\n  - _format_ - [REQUIRED] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n    - 2 - FORMAT_SMIME\n  - _params_ - [OPTIONAL] - формат выходного сообщение\n    - FORMAT_PKCS7_DETACHED - [OPTIONAL] - открепленная подпись\n    - FORMAT_PKCS7_USE_KEYID - [OPTIONAL] - использование subjectKeyIdentifier\n    - FORMAT_PKCS7_NOCERTS - [OPTIONAL] - исключение сертификата\n    - FORMAT_PKCS7_NOATTR - [OPTIONAL] - исключение атрибутов подписи (\"Тип содержимого\", \"хэш-значение\", \"время подписания\")\n- _VerifySignP7S(sign, data, certificate)_ - проверка подписи\n  - _sign_ - [REQUIRED] - подпись\n  - _data_ - [OPTIONAL] - данные при параметре FORMAT_PKCS7_DETACHED\n  - _certificate_ - [OPTIONAL] - сертификат при параметре FORMAT_PKCS7_NOCERTS\n- \\*ConvertP7S(format, data) - конвертирование подписанных данные\n  - _format_ - [REQUIRED] - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n  - _data_ - [REQUIRED] - подписанные данные\n- _GenPrivateKey(level, password, format)_ - генерация токена личного ключа (защищещнного или незащищенного)\n  - _level_ - [REQUIRED] - уровень стойкости ключа с битах\n    - 128, 192, 256\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n  - _format_ - [OPTIONAL] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- _SetPrivateKey(level, key, password, format)_ - установка личного ключа в токен\n  - _level_ - [REQUIRED] - уровень стойкости ключа с битах\n    - 128, 192, 256\n  - _key_ - [REQUIRED] - ключ требуемого размера под уровень стойкости (32, 48, 64 байта)\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n  - _format_ - [OPTIONAL] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- _KeyProtect(private_key, password, format)_ - установка защиты на личный ключ\n  - _private_key_ - [REQUIRED] - незащищенный токен личного ключа\n  - _password_ - [REQUIRED] - пароль для установки защиты\n  - _format_ - [OPTIONAL] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- _KeyUnprotect(private_key, password, format)_ - снятие защиты с личного ключа\n  - _private_key_ - [REQUIRED] - защищенный токен личного ключа\n  - _password_ - [REQUIRED] - пароль для снятия защиты\n  - _format_ - [OPTIONAL] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- _ChangePassword(private_key, passwordOld, passwordNew, format)_ - изменение пароля\n  - _private_key_ - [REQUIRED] - защищенный токен личного ключа\n  - _passwordOld_ - [OPTIONAL] - старый пароль\n  - _passwordNew_ - [OPTIONAL] - новый пароль\n  - _format_ - [OPTIONAL] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- _GetKeyBytes(private_token, password)_ - получение байтов личного и открытого ключей\n  - _private_token_ - [REQUIRED] - токен личного ключа\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n- _GetPublicKey(data, format)_ - получение открытого ключа из сертификата или запроса на выпуск сертификата\n  - _data_ - [REQUIRED] - сертификат / запрос на сертификат\n  - _format_ - [OPTIONAL] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- \\*ConvertPrivateKey(format, key) - конвертирование личного ключа\n  - _format_ - [REQUIRED] - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n  - _key_ - [REQUIRED] - личный ключ\n- \\*ConvertPublicKey(format, key) - конвертирование открытого ключа\n  - _format_ - [REQUIRED] - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n  - _key_ - [REQUIRED] - открытый ключ\n- _CreateRequest(private_token, password, data, config, format)_ - генерация запроса на выпуск сертификата\n  - _private_token_ - [REQUIRED] - токен личного ключа\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n  - _data_ - [OPTIONAL] - данные для запроса на выпуск сертификата. Заполнить RequestINFO требуемыми параметрами.\n  - _config_ - [OPTIONAL] - дополнительный файл конфигурации,\n  - _format_ - [OPTIONAL] - дополнительный файл конфигурации\n- _VerifyRequest(data)_ - проверка запроса на выпуска сертификата\n  - _data_ - [REQUIRED] - запрос на выпуск сертификата\n- \\*ConvertRequest(format, data) - конвертирование запроса на сертификат\n  - _format_ - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n  - _data_ - запроса на сертификат\n- _GetRequestInfo(data)_ - получение данных и запроса на выпуск сертификата\n  - _data_ - [REQUIRED] - запрос на выпуск сертификата\n- _CreateCertificate(request, private_token, password, certificate, config, db, serial, selfsign, format)_ - выпуск сертификата\n  - _request_ - [REQUIRED] - запрос на выпуск сертификата\n  - _private_token_ - [REQUIRED] - токен личного ключа издателя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n  - _certificate_ - [OPTIONAL] - сертификат издателя или _null_ при самоподписанном сертификате\n  - _config_ - [OPTIONAL] - файл дополнительной конфигурации или _null_\n  - _db_ - [OPTIONAL] - файл БД или _null_ при первоначальном старте\n  - _serial_ - [OPTIONAL] - серийный номер в HEX или _null_ если в файле конфигурации установлен параметр генерации\n  - _selfsign_ - [OPTIONAL] - самоподписанный сертификат (true or false)\n  - _format_ - [OPTIONAL] - выходной формат\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- _VerifyCertificate(certificate, chain, crl)_ - проверка сертификата\n  - _certificate_ - [REQUIRED] - проверяемый сертификат\n  - _chain_ - [OPTIONAL] - байты цепочки сертификатов в P7B или null для самоподписанного сертификата\n  - _crl_ - [REQUIRED] - список отзыва\n- \\*ConvertCertificate(format, data) - конвертирование сертификата\n  - _format_ - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n  - _data_ - сертификат\n- _RevokeCertificate(certificate, db, reason, config)_ - отзыв сертификата\n  - _certificate_ - [REQUIRED] - отзываемый сертификат\n  - _db_ - [REQUIRED] - файл БД\n  - _reason_ - причина отзыва сертификата\n    - ReasonUnspecified - \"unspecified\";\n    - ReasonKeyCompromise - \"keyCompromise\";\n    - ReasonCACompromise - \"CACompromise\";\n    - ReasonAffiliationChanged - \"affiliationChanged\";\n    - ReasonSuperseded - \"superseded\";\n    - ReasonCessationOfOperation - \"cessationOfOperation\";\n    - ReasonCertificateHold - \"certificateHold\";\n    - ReasonRemoveFromCRL - \"removeFromCRL\";\n  - _config_ - [OPTIONAL] - файл дополнительной конфигурации или _null_\n- _CreateCRL(private_token, password, certificate, config, db, serial, format)_ - выпуск списка отозванных сертификатов\n  - _private_token_ - [REQUIRED] - токен личного ключа издателя\n  - _password_ - [OPTIONAL] - пароль к токену личного ключа или _null_\n  - _certificate_ - [REQUIRED] - сертификат издателя\n  - _config_ - [OPTIONAL] - файл дополнительной конфигурации или _null_\n  - _db_ - [REQUIRED] - файл БД или _null_ при пустой БД\n  - _serial_ - [REQUIRED] - серийный номер по порядку\n  - _format_ - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- \\*VerifyCRL(datam certificate) - проверка списка отозванных сертификатов\n  - _data_ - [REQUIRED] - запроса на выпуск сертификата\n  - _certificate_ - [REQUIRED] - сертификат издателя\n- \\*ConvertCRL(format, data) - конвертирование списка отозванных сертификатов\n  - _format_ - [REQUIRED] - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n  - _data_ - [REQUIRED] - список отозванных сертификатов\n- \\*CreateP7B(certificate, crl, format) - создание цепочки доверия\n  - _certificate_ - массив сертификатов\n  - _crl_ - массив списков отозванных сертификатов\n  - _format_ - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- \\*ConvertP7B(format, data) - конвертирование цепочки доверия\n  - _format_ - [REQUIRED] - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n  - _data_ - [REQUIRED] - подписанные данные\n- \\*BELS_shareKey(users, threshold, key, format) - разделение секрета\n  - _users_ - [REQUIRED] - число пользователей\n  - _threshold_ - [REQUIRED] - пороговое число\n  - _key_ - [REQUIRED] - разделяемый ключ\n  - _format_ - [REQUIRED] - вариант выходной кодировки\n    - 0 - FORMAT_PEM\n    - 1 - FORMAT_ASN1\n- \\*BELS_recoveKey(secret) - восстановление секрета\n  - _secret_ - [REQUIRED] - массив частичных секретов и паролей к ним\n\n## Примеры использования в example.js\n\n### CreateDigest\n\n```javascript\nvar incomeData = \"some data\";\n\nvar createDigest = crypto.CreateDigest(\"bash256\", incomeData);\nconsole.log(`CreateDigest: ${createDigest.digest.toString(\"hex\")}`);\n//=> '020e726d12bf9bb143e8932224f2744e29c7976558640d5d77736d04a06de5cd'\n```\n\n### GenEncryptKey\n\n```javascript\nvar genEncryptKey = crypto.GenEncryptKey();\nconsole.log(`GenEncryptKey ${genEncryptKey.privKey.toString(\"hex\")}`);\n// => 'c4e274feb88e44cf6397682dd9f25b7fd3777b1995b9a777cfebb48ac4fd3692'\n```\n\n### CreateMac\n\n```javascript\nvar createMac = crypto.CreateMac(incomeData, genEncryptKey.privKey);\nconsole.log(`CreateMac: ${createMac.digest.toString(\"hex\")}`);\n//=> 'a885f24aa247b2f5'\n```\n\n### CreateHmac\n\n```javascript\nvar createHmac = crypto.CreateHmac(incomeData, genEncryptKey.privKey);\nconsole.log(`CreateHmac: ${createHmac.digest.toString(\"hex\")}`);\n//=> 'e4c7dc93cb3606a9db174d84e932d8e6f53f5b10ecbe4fbbd9d506e63738c6d3'\n```\n\n### GenPrivateKey\n\n```javascript\nvar genPrivateKey = crypto.GenPrivateKey(128, \"12345678\");\nconsole.log(`${genPrivateKey.privKey.toString()}`);\nconsole.log(`${genPrivateKey.pubKey.toString()}`);\n\n/*=> \n-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIGdMFgGCSqGSIb3DQEFDTBLMCoGCSqGSIb3DQEFDDAdBAjZnQpHOsPPAwICCAAw\nDQYJKnAAAgAiZS8MBQAwHQYJKnAAAgAiZR8rBBD/r17X+dSCKOfk922d7MWyBEE1\nFBW22GOCHBoygxwVPH5OMwXQr8lGFOPxmO3jHcnl3vcx0ioCLOp08Jsx2tI490/f\ngQaaSyc3yW3g3q4RF+YYCA==\n-----END ENCRYPTED PRIVATE KEY-----\n\n-----BEGIN PUBLIC KEY-----\nMF0wGAYKKnAAAgAiZS0CAQYKKnAAAgAiZS0DAQNBAPE4W1JJZfRCQRsv+qptCTHX\nfsCEsuFKANXmQtQ5yXvqiFdgWITUAGp6QUr71lIoCoErbhcMg8KcJkZiEkdW1+4=\n-----END PUBLIC KEY-----\n*/\n```\n\n### GetPrivateKey\n\n```javascript\nvar getPrivateKey = crypto.GetPrivateKey(genPrivateKey.privKey, \"12345678\");\nconsole.log(`GetPrivateKey: ${getPrivateKey.privKey.toString(\"hex\")}`);\n//=> '62eb4b2541fde9134cdd14de142a0f8df0f552f3696aeb9d90d60d84a65b1b54'\n```\n\n### Encrypt + CreateToken - DecodeToken + Decrypt\n\n```javascript\n// Encrypt + CreateToken\n\nvar encrypt = crypto.Encrypt(\"belt-ctr256\", incomeData, genEncryptKey.privKey);\nconsole.log(`Encrypt: ${encrypt.data.toString(\"hex\")}`);\n//=> 'b34dd30531982655ab'\n\nvar createToken = crypto.CreateToken(\n  genEncryptKey.privKey,\n  genPrivateKey.pubKey\n);\nconsole.log(`CreateToken: ${createToken.token.toString(\"hex\")}`);\n//=> '36035533f4f5be514abec2b988479b945d7789f3bd0f10ab23e722b457dc945ff93a39a9bc5605cc7d96ef1f67f1d8e6f58b687d9166bbe7df434ea715e2beb5b34df1719a2f59f8663b13db157f32c4'\n\n// DecodeToken + Decrypt\nvar decodeToken = crypto.DecodeToken(\n  createToken.token,\n  genPrivateKey.privKey,\n  \"12345678\"\n);\nconsole.log(`DecodeToken: ${decodeToken.privKey.toString(\"hex\")}`);\n//=> '6cc3769390b36ee80dee04809ed5a0cd8be9c0da5df92079070390631f17eedf7'\n\nvar decrypta = crypto.Decrypt(\"belt-ctr256\", encrypt.data, decodeToken.privKey);\nconsole.log(`Decrypt: ${decrypt.data.toString()}`);\n//=> 'some data'\n```\n\n### EncryptData - DecryptData\n\n```javascript\nvar encryptData = crypto.EncryptData(\n  \"belt-ctr256\",\n  incomeData,\n  genPrivateKey.pubKey\n);\nconsole.log(`EncryptData: ${encryptData.data.toString(\"hex\")}`);\nconsole.log(`EncryptData: ${encryptData.token.toString(\"hex\")}`);\n//=> '57cbd4dcccaaab3d2e'\n//=> '8710303c75969f6a44024fdd75e3f18048f6f6b52e2f6e486e7880d8e82289510b0f2c9eabc837928ce106167f09188616b72b08272c6c61b5badeea9275dadfbddca50d0afd955b35c8ebd7916bc036'\n\nvar decryptData = crypto.DecryptData(\n  \"belt-ctr256\",\n  encryptData.data,\n  encryptData.token,\n  genPrivateKey.privKey,\n  \"12345678\"\n);\nconsole.log(`DecryptData: ${decryptData.data.toString()}`);\n//=> 'some data'\n```\n\n### CreateSign - VerifySign\n\n```javascript\nvar createSign = crypto.CreateSign(\n  incomeData,\n  genPrivateKey.privKey,\n  \"12345678\"\n);\nconsole.log(`${createSign.sign.toString(\"hex\")}`);\n//=> 'f55974f0dc08c7357d05e120be4ac6bd09c171edf54fdf38f48642e974e604a785f0384a44c0ee12c758ad0d8ccf3f8b'\n\nvar verifySign = crypto.VerifySign(\n  incomeData,\n  genPrivateKey.pubKey,\n  createSign.sign\n);\nconsole.log(`VerifySign ... ${verifySign.status}`);\n//=> '0'\n```\n\n### Configuration File\n\n```\nReadme config.md\n```\n\n### RequestINFO\n\n```javascript\n    commonName = 2.5.4.3;\n    surname = 2.5.4.4;\n    serialNumber = 2.5.4.5;\n    countryName = 2.5.4.6;\n    localityName = 2.5.4.7;\n    stateOrProvinceName = 2.5.4.8;\n    streetAddress = 2.5.4.9;\n    organizationName = 2.5.4.10;\n    organizationalUnitName = 2.5.4.11;\n    title = 2.5.4.12;\n    description = 2.5.4.13;\n    searchGuide = 2.5.4.14;\n    businessCategory = 2.5.4.15;\n    postalAddress = 2.5.4.16;\n    postalCode = 2.5.4.17;\n    postOfficeBox = 2.5.4.18;\n    physicalDeliveryOfficeName = 2.5.4.19;\n    telephoneNumber = 2.5.4.20;\n    telexNumber = 2.5.4.21;\n    teletexTerminalIdentifier = 2.5.4.22;\n    facsimileTelephoneNumber = 2.5.4.23;\n    x121Address = 2.5.4.24;\n    internationaliSDNNumber = 2.5.4.25;\n    registeredAddress = 2.5.4.26;\n    destinationIndicator = 2.5.4.27;\n    preferredDeliveryMethod = 2.5.4.28;\n    presentationAddress = 2.5.4.29;\n    supportedApplicationContext = 2.5.4.30;\n    roleOccupant = 2.5.4.33;\n    seeAlso = 2.5.4.34;\n    userPassword = 2.5.4.35;\n    userCertificate = 2.5.4.36;\n    cACertificate = 2.5.4.37;\n    authorityRevocationList = 2.5.4.38;\n    certificateRevocationList = 2.5.4.39;\n    crossCertificatePair = 2.5.4.40;\n    name = 2.5.4.41;\n    givenName = 2.5.4.42;\n    initials = 2.5.4.43;\n    generationQualifier = 2.5.4.44;\n    x500UniqueIdentifier = 2.5.4.45;\n    dnQualifier = 2.5.4.46;\n    enhancedSearchGuide = 2.5.4.47;\n    protocolInformation = 2.5.4.48;\n    distinguishedName = 2.5.4.49;\n    uniqueMember = 2.5.4.50;\n    houseIdentifier = 2.5.4.51\n    supportedAlgorithms = 2.5.4.52;\n    deltaRevocationList = 2.5.4.53;\n    pseudonym = 2.5.4.65;\n    role = 2.5.4.72;\n    organizationIdentifier = 2.5.4.97\n    countryCode3c = 2.5.4.98;\n    countryCode3n = 2.5.4.99;\n    dnsName = 2.5.4.100;\n```\n\n### GenRequest + VerifyRequest + GetRequestInfo\n\n```javascript\nvar INFO = new crypto.RequestINFO();\nINFO.organizationIdentifier = \"OrganizationIndentifier\";\nINFO.houseIdentifier = \"houseIdentifier\";\n\nvar genRequest = crypto.GenRequest(\n  genPrivateKey.privKey,\n  \"12345678\",\n  INFO,\n  null\n);\nconsole.log(`GenRequest: ${genRequest.data.toString()}`);\n\n/*=> \n-----BEGIN CERTIFICATE REQUEST-----\nMIIBRjCCAQACAQIwSTELMAkGA1UEBhMCQlkxGDAWBgNVBDMMD2hvdXNlSWRlbnRp\nZmllcjEgMB4GA1UEYQwXT3JnYW5pemF0aW9uSW5kZW50aWZpZXIwXTAYBgoqcAAC\nACJlLQIBBgoqcAACACJlLQMBA0EA5qlUY94Gak/WKobNPOfN8klWHhtSWjwwNe0M\nanxGaM+bKBnxHupTbLbkRjOMbGuoOxd79xfHMvpwG1eNzZbxPKBRME8GCSqGSIb3\nDQEJDjFCMEAwCwYDVR0PBAQDAgSwMDEGA1UdJQQqMCgGCCsGAQUFBwMBBggrBgEF\nBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEMA0GCSpwAAIAImUtDAUAAzEAW3jYaIQW\nUCgG92Fjwri3SxYlWy7+Ckm+mRRBIc4pUY7krT4J2ZitbBuzLxml2UNx\n-----END CERTIFICATE REQUEST-----\n*/\n\nvar verifyRequest = crypto.VerifyRequest(genRequest.data);\nconsole.log(`VerifyRequest ... ${verifyRequest.status}`);\n// => '0'\n\nvar ReqInfo = crypto.GetRequestInfo(genRequest.data);\nconsole.log(`GetRequestInfo ... ${ReqInfo.status}`);\nconsole.log(`${ReqInfo.data.toString()}`);\n\n/*=>\nC=BY\nhouseIdentifier=houseIdentifier\norganizationIdentifier=OrganizationIndentifier\n*/\n```\n","readmeFilename":"README.md"}