@zudojs/crypto 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +35 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/compare/compare.helper.d.ts +8 -0
- package/dist/compare/compare.helper.d.ts.map +1 -0
- package/dist/compare/compare.helper.js +17 -0
- package/dist/compare/compare.helper.js.map +1 -0
- package/dist/compare/index.d.ts +7 -0
- package/dist/compare/index.d.ts.map +1 -0
- package/dist/compare/index.js +7 -0
- package/dist/compare/index.js.map +1 -0
- package/dist/cryptoAlgorithm/index.d.ts +8 -0
- package/dist/cryptoAlgorithm/index.d.ts.map +1 -0
- package/dist/cryptoAlgorithm/index.js +8 -0
- package/dist/cryptoAlgorithm/index.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.core.d.ts +25 -0
- package/dist/cryptoCipher/cryptoCipher.core.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.core.js +35 -0
- package/dist/cryptoCipher/cryptoCipher.core.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts +16 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.js +50 -0
- package/dist/cryptoCipher/cryptoCipher.envelope.js.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.string.d.ts +10 -0
- package/dist/cryptoCipher/cryptoCipher.string.d.ts.map +1 -0
- package/dist/cryptoCipher/cryptoCipher.string.js +15 -0
- package/dist/cryptoCipher/cryptoCipher.string.js.map +1 -0
- package/dist/cryptoCipher/index.d.ts +9 -0
- package/dist/cryptoCipher/index.d.ts.map +1 -0
- package/dist/cryptoCipher/index.js +9 -0
- package/dist/cryptoCipher/index.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.config.d.ts +36 -0
- package/dist/cryptoConstants/cryptoConstants.config.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.config.js +29 -0
- package/dist/cryptoConstants/cryptoConstants.config.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts +28 -0
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.guard.js +45 -0
- package/dist/cryptoConstants/cryptoConstants.guard.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.security.d.ts +41 -0
- package/dist/cryptoConstants/cryptoConstants.security.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.security.js +42 -0
- package/dist/cryptoConstants/cryptoConstants.security.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.token.d.ts +47 -0
- package/dist/cryptoConstants/cryptoConstants.token.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.token.js +47 -0
- package/dist/cryptoConstants/cryptoConstants.token.js.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.type.d.ts +95 -0
- package/dist/cryptoConstants/cryptoConstants.type.d.ts.map +1 -0
- package/dist/cryptoConstants/cryptoConstants.type.js +116 -0
- package/dist/cryptoConstants/cryptoConstants.type.js.map +1 -0
- package/dist/cryptoConstants/index.d.ts +11 -0
- package/dist/cryptoConstants/index.d.ts.map +1 -0
- package/dist/cryptoConstants/index.js +11 -0
- package/dist/cryptoConstants/index.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts +9 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js +19 -0
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts +8 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.js +16 -0
- package/dist/cryptoEncoding/cryptoEncoding.compare.js.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts +21 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts.map +1 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.js +63 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js +35 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js +40 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts +13 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js +31 -0
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js.map +1 -0
- package/dist/cryptoEncoding/encoding/index.d.ts +9 -0
- package/dist/cryptoEncoding/encoding/index.d.ts.map +1 -0
- package/dist/cryptoEncoding/encoding/index.js +9 -0
- package/dist/cryptoEncoding/encoding/index.js.map +1 -0
- package/dist/cryptoEncoding/index.d.ts +12 -0
- package/dist/cryptoEncoding/index.d.ts.map +1 -0
- package/dist/cryptoEncoding/index.js +12 -0
- package/dist/cryptoEncoding/index.js.map +1 -0
- package/dist/cryptoErrors/index.d.ts +11 -0
- package/dist/cryptoErrors/index.d.ts.map +1 -0
- package/dist/cryptoErrors/index.js +10 -0
- package/dist/cryptoErrors/index.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.core.d.ts +60 -0
- package/dist/cryptoFactory/cryptoFactory.core.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.core.js +105 -0
- package/dist/cryptoFactory/cryptoFactory.core.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.d.ts +5 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.js +8 -0
- package/dist/cryptoFactory/cryptoFactory.encoding.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.options.d.ts +2 -0
- package/dist/cryptoFactory/cryptoFactory.options.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.options.js +6 -0
- package/dist/cryptoFactory/cryptoFactory.options.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.password.d.ts +5 -0
- package/dist/cryptoFactory/cryptoFactory.password.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.password.js +8 -0
- package/dist/cryptoFactory/cryptoFactory.password.js.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.token.d.ts +10 -0
- package/dist/cryptoFactory/cryptoFactory.token.d.ts.map +1 -0
- package/dist/cryptoFactory/cryptoFactory.token.js +30 -0
- package/dist/cryptoFactory/cryptoFactory.token.js.map +1 -0
- package/dist/cryptoFactory/index.d.ts +7 -0
- package/dist/cryptoFactory/index.d.ts.map +1 -0
- package/dist/cryptoFactory/index.js +7 -0
- package/dist/cryptoFactory/index.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.codec.d.ts +10 -0
- package/dist/cryptoHash/cryptoHash.codec.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.codec.js +39 -0
- package/dist/cryptoHash/cryptoHash.codec.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.compare.d.ts +5 -0
- package/dist/cryptoHash/cryptoHash.compare.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.compare.js +14 -0
- package/dist/cryptoHash/cryptoHash.compare.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.convenience.d.ts +26 -0
- package/dist/cryptoHash/cryptoHash.convenience.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.convenience.js +56 -0
- package/dist/cryptoHash/cryptoHash.convenience.js.map +1 -0
- package/dist/cryptoHash/cryptoHash.core.d.ts +19 -0
- package/dist/cryptoHash/cryptoHash.core.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHash.core.js +17 -0
- package/dist/cryptoHash/cryptoHash.core.js.map +1 -0
- package/dist/cryptoHash/cryptoHmac.core.d.ts +19 -0
- package/dist/cryptoHash/cryptoHmac.core.d.ts.map +1 -0
- package/dist/cryptoHash/cryptoHmac.core.js +29 -0
- package/dist/cryptoHash/cryptoHmac.core.js.map +1 -0
- package/dist/cryptoHash/index.d.ts +11 -0
- package/dist/cryptoHash/index.d.ts.map +1 -0
- package/dist/cryptoHash/index.js +11 -0
- package/dist/cryptoHash/index.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.factory.d.ts +21 -0
- package/dist/cryptoKey/cryptoKey.factory.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.factory.js +72 -0
- package/dist/cryptoKey/cryptoKey.factory.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.type.d.ts +44 -0
- package/dist/cryptoKey/cryptoKey.type.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.type.js +32 -0
- package/dist/cryptoKey/cryptoKey.type.js.map +1 -0
- package/dist/cryptoKey/cryptoKey.utils.d.ts +13 -0
- package/dist/cryptoKey/cryptoKey.utils.d.ts.map +1 -0
- package/dist/cryptoKey/cryptoKey.utils.js +18 -0
- package/dist/cryptoKey/cryptoKey.utils.js.map +1 -0
- package/dist/cryptoKey/index.d.ts +9 -0
- package/dist/cryptoKey/index.d.ts.map +1 -0
- package/dist/cryptoKey/index.js +9 -0
- package/dist/cryptoKey/index.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts +16 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js +76 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts +5 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js +12 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts +23 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js +2 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts +9 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js +35 -0
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js.map +1 -0
- package/dist/cryptoKeyDerivation/index.d.ts +10 -0
- package/dist/cryptoKeyDerivation/index.d.ts.map +1 -0
- package/dist/cryptoKeyDerivation/index.js +10 -0
- package/dist/cryptoKeyDerivation/index.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts +14 -0
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.codec.js +87 -0
- package/dist/cryptoPassword/cryptoPassword.codec.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.core.d.ts +10 -0
- package/dist/cryptoPassword/cryptoPassword.core.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.core.js +59 -0
- package/dist/cryptoPassword/cryptoPassword.core.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.helper.d.ts +14 -0
- package/dist/cryptoPassword/cryptoPassword.helper.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.helper.js +33 -0
- package/dist/cryptoPassword/cryptoPassword.helper.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.type.d.ts +37 -0
- package/dist/cryptoPassword/cryptoPassword.type.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.type.js +2 -0
- package/dist/cryptoPassword/cryptoPassword.type.js.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts +23 -0
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts.map +1 -0
- package/dist/cryptoPassword/cryptoPassword.validate.js +60 -0
- package/dist/cryptoPassword/cryptoPassword.validate.js.map +1 -0
- package/dist/cryptoPassword/index.d.ts +11 -0
- package/dist/cryptoPassword/index.d.ts.map +1 -0
- package/dist/cryptoPassword/index.js +11 -0
- package/dist/cryptoPassword/index.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.core.d.ts +10 -0
- package/dist/cryptoProvider/cryptoProvider.core.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.core.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.core.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts +91 -0
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.interface.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.interface.js.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.type.d.ts +41 -0
- package/dist/cryptoProvider/cryptoProvider.type.d.ts.map +1 -0
- package/dist/cryptoProvider/cryptoProvider.type.js +2 -0
- package/dist/cryptoProvider/cryptoProvider.type.js.map +1 -0
- package/dist/cryptoProvider/index.d.ts +12 -0
- package/dist/cryptoProvider/index.d.ts.map +1 -0
- package/dist/cryptoProvider/index.js +2 -0
- package/dist/cryptoProvider/index.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts +28 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoHash.type.d.ts +14 -0
- package/dist/cryptoProvider/types/cryptoHash.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoHash.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoHash.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts +22 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.d.ts +9 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoRandom.type.js.map +1 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts +19 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts.map +1 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.js +2 -0
- package/dist/cryptoProvider/types/cryptoSignature.type.js.map +1 -0
- package/dist/cryptoProvider/types/index.d.ts +12 -0
- package/dist/cryptoProvider/types/index.d.ts.map +1 -0
- package/dist/cryptoProvider/types/index.js +8 -0
- package/dist/cryptoProvider/types/index.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts +14 -0
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.choice.js +30 -0
- package/dist/cryptoRandom/cryptoRandom.choice.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.core.d.ts +21 -0
- package/dist/cryptoRandom/cryptoRandom.core.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.core.js +31 -0
- package/dist/cryptoRandom/cryptoRandom.core.js.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.string.d.ts +35 -0
- package/dist/cryptoRandom/cryptoRandom.string.d.ts.map +1 -0
- package/dist/cryptoRandom/cryptoRandom.string.js +74 -0
- package/dist/cryptoRandom/cryptoRandom.string.js.map +1 -0
- package/dist/cryptoRandom/index.d.ts +9 -0
- package/dist/cryptoRandom/index.d.ts.map +1 -0
- package/dist/cryptoRandom/index.js +9 -0
- package/dist/cryptoRandom/index.js.map +1 -0
- package/dist/cryptoService/cryptoService.core.d.ts +46 -0
- package/dist/cryptoService/cryptoService.core.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.core.js +101 -0
- package/dist/cryptoService/cryptoService.core.js.map +1 -0
- package/dist/cryptoService/cryptoService.derivation.d.ts +6 -0
- package/dist/cryptoService/cryptoService.derivation.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.derivation.js +12 -0
- package/dist/cryptoService/cryptoService.derivation.js.map +1 -0
- package/dist/cryptoService/cryptoService.encoding.d.ts +5 -0
- package/dist/cryptoService/cryptoService.encoding.d.ts.map +1 -0
- package/dist/cryptoService/cryptoService.encoding.js +19 -0
- package/dist/cryptoService/cryptoService.encoding.js.map +1 -0
- package/dist/cryptoService/index.d.ts +11 -0
- package/dist/cryptoService/index.d.ts.map +1 -0
- package/dist/cryptoService/index.js +11 -0
- package/dist/cryptoService/index.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts +5 -0
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.cipher.js +19 -0
- package/dist/cryptoService/operations/cryptoService.cipher.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.hash.d.ts +3 -0
- package/dist/cryptoService/operations/cryptoService.hash.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.hash.js +16 -0
- package/dist/cryptoService/operations/cryptoService.hash.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.password.d.ts +5 -0
- package/dist/cryptoService/operations/cryptoService.password.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.password.js +19 -0
- package/dist/cryptoService/operations/cryptoService.password.js.map +1 -0
- package/dist/cryptoService/operations/cryptoService.token.d.ts +7 -0
- package/dist/cryptoService/operations/cryptoService.token.d.ts.map +1 -0
- package/dist/cryptoService/operations/cryptoService.token.js +36 -0
- package/dist/cryptoService/operations/cryptoService.token.js.map +1 -0
- package/dist/cryptoService/operations/index.d.ts +11 -0
- package/dist/cryptoService/operations/index.d.ts.map +1 -0
- package/dist/cryptoService/operations/index.js +11 -0
- package/dist/cryptoService/operations/index.js.map +1 -0
- package/dist/cryptoSignature/cryptoSignature.core.d.ts +25 -0
- package/dist/cryptoSignature/cryptoSignature.core.d.ts.map +1 -0
- package/dist/cryptoSignature/cryptoSignature.core.js +36 -0
- package/dist/cryptoSignature/cryptoSignature.core.js.map +1 -0
- package/dist/cryptoSignature/index.d.ts +7 -0
- package/dist/cryptoSignature/index.d.ts.map +1 -0
- package/dist/cryptoSignature/index.js +7 -0
- package/dist/cryptoSignature/index.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.core.d.ts +55 -0
- package/dist/cryptoToken/cryptoToken.core.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.core.js +90 -0
- package/dist/cryptoToken/cryptoToken.core.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.hash.d.ts +24 -0
- package/dist/cryptoToken/cryptoToken.hash.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.hash.js +82 -0
- package/dist/cryptoToken/cryptoToken.hash.js.map +1 -0
- package/dist/cryptoToken/cryptoToken.utils.d.ts +13 -0
- package/dist/cryptoToken/cryptoToken.utils.d.ts.map +1 -0
- package/dist/cryptoToken/cryptoToken.utils.js +30 -0
- package/dist/cryptoToken/cryptoToken.utils.js.map +1 -0
- package/dist/cryptoToken/index.d.ts +9 -0
- package/dist/cryptoToken/index.d.ts.map +1 -0
- package/dist/cryptoToken/index.js +9 -0
- package/dist/cryptoToken/index.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts +11 -0
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.compare.js +27 -0
- package/dist/cryptoUtils/cryptoUtils.compare.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.d.ts +25 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.js +50 -0
- package/dist/cryptoUtils/cryptoUtils.conversion.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.number.d.ts +9 -0
- package/dist/cryptoUtils/cryptoUtils.number.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.number.js +35 -0
- package/dist/cryptoUtils/cryptoUtils.number.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.text.d.ts +13 -0
- package/dist/cryptoUtils/cryptoUtils.text.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.text.js +23 -0
- package/dist/cryptoUtils/cryptoUtils.text.js.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts +17 -0
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts.map +1 -0
- package/dist/cryptoUtils/cryptoUtils.validation.js +29 -0
- package/dist/cryptoUtils/cryptoUtils.validation.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js +28 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js +37 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts +9 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js +25 -0
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js.map +1 -0
- package/dist/cryptoUtils/encoding/index.d.ts +10 -0
- package/dist/cryptoUtils/encoding/index.d.ts.map +1 -0
- package/dist/cryptoUtils/encoding/index.js +10 -0
- package/dist/cryptoUtils/encoding/index.js.map +1 -0
- package/dist/cryptoUtils/index.d.ts +13 -0
- package/dist/cryptoUtils/index.d.ts.map +1 -0
- package/dist/cryptoUtils/index.js +13 -0
- package/dist/cryptoUtils/index.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/node/index.d.ts +8 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +8 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/index.d.ts +14 -0
- package/dist/node/nodeCryptoProvider/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/index.js +14 -0
- package/dist/node/nodeCryptoProvider/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts +42 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js +56 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts +3 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js +5 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts +8 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js +55 -0
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/index.d.ts +8 -0
- package/dist/node/nodeCryptoProvider/operations/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/index.js +8 -0
- package/dist/node/nodeCryptoProvider/operations/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts +3 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js +45 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts +12 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js +94 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/index.d.ts +10 -0
- package/dist/node/nodeCryptoProvider/primitives/index.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/index.js +10 -0
- package/dist/node/nodeCryptoProvider/primitives/index.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js +35 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts +4 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js +16 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts +4 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js +39 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts +13 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts.map +1 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js +29 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js.map +1 -0
- package/dist/node/signing/index.d.ts +9 -0
- package/dist/node/signing/index.d.ts.map +1 -0
- package/dist/node/signing/index.js +9 -0
- package/dist/node/signing/index.js.map +1 -0
- package/dist/node/signing/signing.conversion.d.ts +9 -0
- package/dist/node/signing/signing.conversion.d.ts.map +1 -0
- package/dist/node/signing/signing.conversion.js +51 -0
- package/dist/node/signing/signing.conversion.js.map +1 -0
- package/dist/node/signing/signing.core.d.ts +21 -0
- package/dist/node/signing/signing.core.d.ts.map +1 -0
- package/dist/node/signing/signing.core.js +45 -0
- package/dist/node/signing/signing.core.js.map +1 -0
- package/dist/node/signing/signing.utils.d.ts +15 -0
- package/dist/node/signing/signing.utils.d.ts.map +1 -0
- package/dist/node/signing/signing.utils.js +41 -0
- package/dist/node/signing/signing.utils.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @zudojs/crypto/node/nodeCryptoProvider/primitives
|
|
3
|
+
*
|
|
4
|
+
* Primitive crypto operations: hashing, encryption, signing, and random generation.
|
|
5
|
+
*/
|
|
6
|
+
export { hash, hmac } from "./nodeCryptoProvider.hash.js";
|
|
7
|
+
export { encrypt, decrypt } from "./nodeCryptoProvider.encryption.js";
|
|
8
|
+
export { sign, verify } from "./nodeCryptoProvider.signing.js";
|
|
9
|
+
export { randomBytesImpl, randomIntImpl, randomUUIDImpl, } from "./nodeCryptoProvider.random.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CryptoInput, EncryptedData } from "../../../cryptoProvider/index.js";
|
|
2
|
+
export declare function encrypt(options: {
|
|
3
|
+
key: CryptoInput;
|
|
4
|
+
plaintext: CryptoInput;
|
|
5
|
+
associatedData?: CryptoInput;
|
|
6
|
+
nonce?: Uint8Array;
|
|
7
|
+
}): Promise<EncryptedData>;
|
|
8
|
+
export declare function decrypt(options: {
|
|
9
|
+
key: CryptoInput;
|
|
10
|
+
encrypted: EncryptedData;
|
|
11
|
+
associatedData?: CryptoInput;
|
|
12
|
+
}): Promise<Uint8Array>;
|
|
13
|
+
//# sourceMappingURL=nodeCryptoProvider.encryption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.encryption.d.ts","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,aAAa,EACd,MAAM,kCAAkC,CAAC;AAI1C,wBAAsB,OAAO,CAAC,OAAO,EAAE;IACrC,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC;IACvB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuBzB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE;IACrC,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,aAAa,CAAC;IACzB,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B,GAAG,OAAO,CAAC,UAAU,CAAC,CA2BtB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
|
|
2
|
+
import { toBytes } from "../nodeCryptoProvider.helper.js";
|
|
3
|
+
export async function encrypt(options) {
|
|
4
|
+
const key = toBytes(options.key);
|
|
5
|
+
const plaintext = toBytes(options.plaintext);
|
|
6
|
+
const algorithm = "aes-256-gcm";
|
|
7
|
+
const nonce = options.nonce ?? new Uint8Array(randomBytes(12));
|
|
8
|
+
const cipher = createCipheriv("aes-256-gcm", key, nonce);
|
|
9
|
+
if (options.associatedData) {
|
|
10
|
+
cipher.setAAD(toBytes(options.associatedData));
|
|
11
|
+
}
|
|
12
|
+
const ciphertext = Buffer.concat([cipher.update(plaintext), cipher.final()]);
|
|
13
|
+
const tag = cipher.getAuthTag();
|
|
14
|
+
return Object.freeze({
|
|
15
|
+
algorithm,
|
|
16
|
+
ciphertext: new Uint8Array(ciphertext),
|
|
17
|
+
nonce,
|
|
18
|
+
tag: new Uint8Array(tag),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export async function decrypt(options) {
|
|
22
|
+
const key = toBytes(options.key);
|
|
23
|
+
const { ciphertext, nonce, tag } = options.encrypted;
|
|
24
|
+
const decipher = createDecipheriv(options.encrypted.algorithm, key, nonce);
|
|
25
|
+
if (options.associatedData) {
|
|
26
|
+
decipher.setAAD(toBytes(options.associatedData));
|
|
27
|
+
}
|
|
28
|
+
decipher.setAuthTag(tag);
|
|
29
|
+
const decrypted = Buffer.concat([
|
|
30
|
+
decipher.update(ciphertext),
|
|
31
|
+
decipher.final(),
|
|
32
|
+
]);
|
|
33
|
+
return new Uint8Array(decrypted);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=nodeCryptoProvider.encryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.encryption.js","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAK7B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAwB,aAAa,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAEzD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE7E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAEhC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,UAAU,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC;QACtC,KAAK;QACL,GAAG,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAI7B;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAErD,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,OAAO,CAAC,SAAS,CAAC,SAAS,EAC3B,GAAG,EACH,KAAK,CAMN,CAAC;IAEF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAC3B,QAAQ,CAAC,KAAK,EAAE;KACjB,CAAC,CAAC;IAEH,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { HashAlgorithm, HmacAlgorithm, CryptoInput } from "../../../cryptoProvider/index.js";
|
|
2
|
+
export declare function hash(algorithm: HashAlgorithm, data: CryptoInput): Promise<Uint8Array>;
|
|
3
|
+
export declare function hmac(algorithm: HmacAlgorithm, key: CryptoInput, data: CryptoInput): Promise<Uint8Array>;
|
|
4
|
+
//# sourceMappingURL=nodeCryptoProvider.hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.hash.d.ts","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,kCAAkC,CAAC;AAI1C,wBAAsB,IAAI,CACxB,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,CAKrB;AAED,wBAAsB,IAAI,CACxB,SAAS,EAAE,aAAa,EACxB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,CAMrB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createHash, createHmac } from "node:crypto";
|
|
2
|
+
import { toBytes, nodeHashAlgorithm } from "../nodeCryptoProvider.helper.js";
|
|
3
|
+
export async function hash(algorithm, data) {
|
|
4
|
+
const normalized = toBytes(data);
|
|
5
|
+
const hasher = createHash(nodeHashAlgorithm(algorithm));
|
|
6
|
+
hasher.update(normalized);
|
|
7
|
+
return new Uint8Array(hasher.digest());
|
|
8
|
+
}
|
|
9
|
+
export async function hmac(algorithm, key, data) {
|
|
10
|
+
const normalizedKey = toBytes(key);
|
|
11
|
+
const normalizedData = toBytes(data);
|
|
12
|
+
const h = createHmac(nodeHashAlgorithm(algorithm), normalizedKey);
|
|
13
|
+
h.update(normalizedData);
|
|
14
|
+
return new Uint8Array(h.digest());
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=nodeCryptoProvider.hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.hash.js","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,SAAwB,EACxB,IAAiB;IAEjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,SAAwB,EACxB,GAAgB,EAChB,IAAiB;IAEjB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function randomBytesImpl(length: number): Promise<Uint8Array>;
|
|
2
|
+
export declare function randomIntImpl(min: number, max: number): Promise<number>;
|
|
3
|
+
export declare function randomUUIDImpl(): Promise<string>;
|
|
4
|
+
//# sourceMappingURL=nodeCryptoProvider.random.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.random.d.ts","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAMzE;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B7E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAWtD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { randomBytes } from "node:crypto";
|
|
2
|
+
export async function randomBytesImpl(length) {
|
|
3
|
+
if (!Number.isInteger(length) || length <= 0) {
|
|
4
|
+
throw new TypeError("randomBytes length must be a positive integer.");
|
|
5
|
+
}
|
|
6
|
+
return new Uint8Array(randomBytes(length));
|
|
7
|
+
}
|
|
8
|
+
export async function randomIntImpl(min, max) {
|
|
9
|
+
if (!Number.isInteger(min) || !Number.isInteger(max)) {
|
|
10
|
+
throw new TypeError("randomInt bounds must be integers.");
|
|
11
|
+
}
|
|
12
|
+
if (max <= min) {
|
|
13
|
+
throw new RangeError("max must be greater than min.");
|
|
14
|
+
}
|
|
15
|
+
const range = max - min;
|
|
16
|
+
const bytesNeeded = Math.ceil(Math.log2(range) / 8);
|
|
17
|
+
const limit = Math.floor(256 ** bytesNeeded / range) * range;
|
|
18
|
+
while (true) {
|
|
19
|
+
const bytes = await randomBytesImpl(bytesNeeded);
|
|
20
|
+
let value = 0;
|
|
21
|
+
for (let i = 0; i < bytesNeeded; i += 1) {
|
|
22
|
+
value = (value << 8) | bytes[i];
|
|
23
|
+
}
|
|
24
|
+
value = value >>> 0;
|
|
25
|
+
if (value < limit) {
|
|
26
|
+
return min + (value % range);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export async function randomUUIDImpl() {
|
|
31
|
+
const bytes = await randomBytesImpl(16);
|
|
32
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x40;
|
|
33
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
34
|
+
const hex = Array.from(bytes)
|
|
35
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
36
|
+
.join("");
|
|
37
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=nodeCryptoProvider.random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.random.js","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc;IAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,GAAW;IAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,WAAW,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IAE7D,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACnC,CAAC;QAED,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC;QAEpB,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,OAAO,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IAExC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SignatureAlgorithm, CryptoInput } from "../../../cryptoProvider/index.js";
|
|
2
|
+
export declare function sign(options: {
|
|
3
|
+
key: CryptoInput;
|
|
4
|
+
data: CryptoInput;
|
|
5
|
+
algorithm?: SignatureAlgorithm;
|
|
6
|
+
}): Promise<Uint8Array>;
|
|
7
|
+
export declare function verify(options: {
|
|
8
|
+
key: CryptoInput;
|
|
9
|
+
data: CryptoInput;
|
|
10
|
+
signature: Uint8Array;
|
|
11
|
+
algorithm?: SignatureAlgorithm;
|
|
12
|
+
}): Promise<boolean>;
|
|
13
|
+
//# sourceMappingURL=nodeCryptoProvider.signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.signing.d.ts","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACZ,MAAM,kCAAkC,CAAC;AAc1C,wBAAsB,IAAI,CAAC,OAAO,EAAE;IAClC,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBtB;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE;IACpC,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBnB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createPrivateKey, createPublicKey, createSign, createVerify, sign as signImpl, verify as verifyImpl, } from "node:crypto";
|
|
2
|
+
import { toBytes, nodeSignatureAlgorithm, } from "../nodeCryptoProvider.helper.js";
|
|
3
|
+
export async function sign(options) {
|
|
4
|
+
const algorithm = options.algorithm ?? "ed25519";
|
|
5
|
+
const key = toBytes(options.key);
|
|
6
|
+
const data = toBytes(options.data);
|
|
7
|
+
const privateKey = createPrivateKey(key);
|
|
8
|
+
if (algorithm === "ed25519") {
|
|
9
|
+
return new Uint8Array(signImpl(null, data, privateKey));
|
|
10
|
+
}
|
|
11
|
+
const signer = createSign(nodeSignatureAlgorithm(algorithm));
|
|
12
|
+
signer.update(data);
|
|
13
|
+
signer.end();
|
|
14
|
+
return new Uint8Array(signer.sign(privateKey));
|
|
15
|
+
}
|
|
16
|
+
export async function verify(options) {
|
|
17
|
+
const algorithm = options.algorithm ?? "ed25519";
|
|
18
|
+
const key = toBytes(options.key);
|
|
19
|
+
const data = toBytes(options.data);
|
|
20
|
+
const publicKey = createPublicKey(key);
|
|
21
|
+
if (algorithm === "ed25519") {
|
|
22
|
+
return verifyImpl(null, data, publicKey, options.signature);
|
|
23
|
+
}
|
|
24
|
+
const verifier = createVerify(nodeSignatureAlgorithm(algorithm));
|
|
25
|
+
verifier.update(data);
|
|
26
|
+
verifier.end();
|
|
27
|
+
return verifier.verify(publicKey, options.signature);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=nodeCryptoProvider.signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeCryptoProvider.signing.js","sourceRoot":"","sources":["../../../../src/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,IAAI,IAAI,QAAQ,EAChB,MAAM,IAAI,UAAU,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,OAAO,EACP,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAI1B;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,CAAC,GAAG,EAAE,CAAC;IAEb,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAK5B;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;IAEf,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/signing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/signing/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CryptoKey } from "../../cryptoKey/cryptoKey.type.js";
|
|
2
|
+
import { type KeyObject } from "node:crypto";
|
|
3
|
+
/**
|
|
4
|
+
* Converts a CryptoKey into a Node.js KeyObject.
|
|
5
|
+
*/
|
|
6
|
+
export declare function cryptoKeyToPrivateKey(key: CryptoKey): KeyObject;
|
|
7
|
+
export declare function toPrivateKey(key: KeyObject | string | Uint8Array): KeyObject;
|
|
8
|
+
export declare function toPublicKey(key: KeyObject | string | Uint8Array): KeyObject;
|
|
9
|
+
//# sourceMappingURL=signing.conversion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.conversion.d.ts","sourceRoot":"","sources":["../../../src/node/signing/signing.conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAIhF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAgB/D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAkB5E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAkB3E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createPrivateKey, createPublicKey } from "node:crypto";
|
|
2
|
+
import { isKeyObject } from "./signing.utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* Converts a CryptoKey into a Node.js KeyObject.
|
|
5
|
+
*/
|
|
6
|
+
export function cryptoKeyToPrivateKey(key) {
|
|
7
|
+
if (key.algorithm !== "ed25519") {
|
|
8
|
+
throw new TypeError(`CryptoKey algorithm "${key.algorithm}" is not supported for Ed25519 signatures.`);
|
|
9
|
+
}
|
|
10
|
+
if (!key.extractable) {
|
|
11
|
+
throw new Error(`Cryptographic key "${key.keyId}" is not extractable.`);
|
|
12
|
+
}
|
|
13
|
+
return createPrivateKey({
|
|
14
|
+
key: Buffer.from(key.bytes()),
|
|
15
|
+
format: "der",
|
|
16
|
+
type: "pkcs8",
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export function toPrivateKey(key) {
|
|
20
|
+
if (isKeyObject(key)) {
|
|
21
|
+
return key;
|
|
22
|
+
}
|
|
23
|
+
if (typeof key === "string") {
|
|
24
|
+
return createPrivateKey(key);
|
|
25
|
+
}
|
|
26
|
+
if (key instanceof Uint8Array) {
|
|
27
|
+
return createPrivateKey({
|
|
28
|
+
key: Buffer.from(key),
|
|
29
|
+
format: "der",
|
|
30
|
+
type: "pkcs8",
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
throw new TypeError("Invalid private key.");
|
|
34
|
+
}
|
|
35
|
+
export function toPublicKey(key) {
|
|
36
|
+
if (isKeyObject(key)) {
|
|
37
|
+
return key;
|
|
38
|
+
}
|
|
39
|
+
if (typeof key === "string") {
|
|
40
|
+
return createPublicKey(key);
|
|
41
|
+
}
|
|
42
|
+
if (key instanceof Uint8Array) {
|
|
43
|
+
return createPublicKey({
|
|
44
|
+
key: Buffer.from(key),
|
|
45
|
+
format: "der",
|
|
46
|
+
type: "spki",
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
throw new TypeError("Invalid public key.");
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=signing.conversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.conversion.js","sourceRoot":"","sources":["../../../src/node/signing/signing.conversion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAc;IAClD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CACjB,wBAAwB,GAAG,CAAC,SAAS,4CAA4C,CAClF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,KAAK,uBAAuB,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,gBAAgB,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAoC;IAC/D,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,OAAO,gBAAgB,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAoC;IAC9D,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC;YACrB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type KeyObject } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Generates an Ed25519 key pair.
|
|
4
|
+
*/
|
|
5
|
+
export declare function generateEd25519KeyPair(): {
|
|
6
|
+
readonly privateKey: KeyObject;
|
|
7
|
+
readonly publicKey: KeyObject;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Exports a private key as PEM.
|
|
11
|
+
*/
|
|
12
|
+
export declare function exportPrivateKeyPem(privateKey: KeyObject): string;
|
|
13
|
+
/**
|
|
14
|
+
* Exports a public key as PEM.
|
|
15
|
+
*/
|
|
16
|
+
export declare function exportPublicKeyPem(publicKey: KeyObject): string;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a public key from a private key.
|
|
19
|
+
*/
|
|
20
|
+
export declare function derivePublicKey(privateKey: KeyObject | string | Uint8Array): KeyObject;
|
|
21
|
+
//# sourceMappingURL=signing.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.core.d.ts","sourceRoot":"","sources":["../../../src/node/signing/signing.core.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAOrB;;GAEG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,CAOA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,CASjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAS/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,GAC1C,SAAS,CAEX"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { generateKeyPairSync, createPrivateKey, createPublicKey, } from "node:crypto";
|
|
2
|
+
import { CryptoAlgorithm } from "../../cryptoConstants/cryptoConstants.type.js";
|
|
3
|
+
import { cryptoKeyToPrivateKey, toPrivateKey } from "./signing.conversion.js";
|
|
4
|
+
import { assertKeyObject } from "./signing.utils.js";
|
|
5
|
+
/**
|
|
6
|
+
* Generates an Ed25519 key pair.
|
|
7
|
+
*/
|
|
8
|
+
export function generateEd25519KeyPair() {
|
|
9
|
+
const { privateKey, publicKey } = generateKeyPairSync("ed25519");
|
|
10
|
+
return Object.freeze({
|
|
11
|
+
privateKey,
|
|
12
|
+
publicKey,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Exports a private key as PEM.
|
|
17
|
+
*/
|
|
18
|
+
export function exportPrivateKeyPem(privateKey) {
|
|
19
|
+
assertKeyObject(privateKey);
|
|
20
|
+
return privateKey
|
|
21
|
+
.export({
|
|
22
|
+
type: "pkcs8",
|
|
23
|
+
format: "pem",
|
|
24
|
+
})
|
|
25
|
+
.toString();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Exports a public key as PEM.
|
|
29
|
+
*/
|
|
30
|
+
export function exportPublicKeyPem(publicKey) {
|
|
31
|
+
assertKeyObject(publicKey);
|
|
32
|
+
return publicKey
|
|
33
|
+
.export({
|
|
34
|
+
type: "spki",
|
|
35
|
+
format: "pem",
|
|
36
|
+
})
|
|
37
|
+
.toString();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Creates a public key from a private key.
|
|
41
|
+
*/
|
|
42
|
+
export function derivePublicKey(privateKey) {
|
|
43
|
+
return createPublicKey(toPrivateKey(privateKey));
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=signing.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.core.js","sourceRoot":"","sources":["../../../src/node/signing/signing.core.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAEhB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,sBAAsB;IAIpC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEjE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU;QACV,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAqB;IACvD,eAAe,CAAC,UAAU,CAAC,CAAC;IAE5B,OAAO,UAAU;SACd,MAAM,CAAC;QACN,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAoB;IACrD,eAAe,CAAC,SAAS,CAAC,CAAC;IAE3B,OAAO,SAAS;SACb,MAAM,CAAC;QACN,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK;KACd,CAAC;SACD,QAAQ,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,UAA2C;IAE3C,OAAO,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SignatureAlgorithm } from "../../cryptoProvider/index.js";
|
|
2
|
+
import type { KeyObject } from "node:crypto";
|
|
3
|
+
/**
|
|
4
|
+
* Maps a signature algorithm to a Node.js hash algorithm name.
|
|
5
|
+
*/
|
|
6
|
+
export declare function nodeSignatureAlgorithm(algorithm: SignatureAlgorithm): string;
|
|
7
|
+
/**
|
|
8
|
+
* Checks whether a value is a Node.js KeyObject.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isKeyObject(value: unknown): value is KeyObject;
|
|
11
|
+
/**
|
|
12
|
+
* Asserts that a value is a Node.js KeyObject.
|
|
13
|
+
*/
|
|
14
|
+
export declare function assertKeyObject(key: KeyObject): void;
|
|
15
|
+
//# sourceMappingURL=signing.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.utils.d.ts","sourceRoot":"","sources":["../../../src/node/signing/signing.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAqB5E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAO9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAIpD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps a signature algorithm to a Node.js hash algorithm name.
|
|
3
|
+
*/
|
|
4
|
+
export function nodeSignatureAlgorithm(algorithm) {
|
|
5
|
+
switch (algorithm) {
|
|
6
|
+
case "rsa-sha256":
|
|
7
|
+
return "RSA-SHA256";
|
|
8
|
+
case "rsa-sha384":
|
|
9
|
+
return "RSA-SHA384";
|
|
10
|
+
case "rsa-sha512":
|
|
11
|
+
return "RSA-SHA512";
|
|
12
|
+
case "ecdsa-sha256":
|
|
13
|
+
return "SHA256";
|
|
14
|
+
case "ecdsa-sha384":
|
|
15
|
+
return "SHA384";
|
|
16
|
+
case "ecdsa-sha512":
|
|
17
|
+
return "SHA512";
|
|
18
|
+
case "ed25519":
|
|
19
|
+
throw new TypeError("Ed25519 does not use a digest algorithm.");
|
|
20
|
+
default:
|
|
21
|
+
throw new TypeError(`Unsupported signature algorithm: ${String(algorithm)}.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Checks whether a value is a Node.js KeyObject.
|
|
26
|
+
*/
|
|
27
|
+
export function isKeyObject(value) {
|
|
28
|
+
return (typeof value === "object" &&
|
|
29
|
+
value !== null &&
|
|
30
|
+
"type" in value &&
|
|
31
|
+
"export" in value);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Asserts that a value is a Node.js KeyObject.
|
|
35
|
+
*/
|
|
36
|
+
export function assertKeyObject(key) {
|
|
37
|
+
if (!isKeyObject(key)) {
|
|
38
|
+
throw new TypeError("Expected a Node.js KeyObject.");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=signing.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.utils.js","sourceRoot":"","sources":["../../../src/node/signing/signing.utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA6B;IAClE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC;QAClB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC;QAClB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAClE;YACE,MAAM,IAAI,SAAS,CACjB,oCAAoC,MAAM,CAAC,SAAS,CAAC,GAAG,CACzD,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,QAAQ,IAAI,KAAK,CAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAc;IAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zudojs/crypto",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Cryptographic primitives for hashing, encryption, tokens, and secure random generation.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=24.0.0"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@zudojs/constants": "0.0.1",
|
|
23
|
+
"@zudojs/errors": "0.0.1"
|
|
24
|
+
},
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"typescript": "^7.0.2"
|
|
28
|
+
},
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
31
|
+
},
|
|
32
|
+
"keywords": [
|
|
33
|
+
"zudojs",
|
|
34
|
+
"crypto",
|
|
35
|
+
"encryption",
|
|
36
|
+
"hashing",
|
|
37
|
+
"security"
|
|
38
|
+
],
|
|
39
|
+
"homepage": "https://github.com/oyinlola-tech/zudo#readme",
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "https://github.com/oyinlola-tech/zudo"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsc -p tsconfig.json",
|
|
46
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
47
|
+
"clean": "rm -rf dist",
|
|
48
|
+
"test": "vitest run",
|
|
49
|
+
"test:watch": "vitest"
|
|
50
|
+
}
|
|
51
|
+
}
|