@zudojs/crypto 0.0.1 → 1.0.0
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/README.md +43 -14
- package/dist/compare/compare.helper.d.ts +10 -2
- package/dist/compare/compare.helper.js +22 -6
- package/dist/cryptoCipher/cryptoCipher.core.d.ts +11 -1
- package/dist/cryptoCipher/cryptoCipher.core.js +19 -3
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts +7 -2
- package/dist/cryptoCipher/cryptoCipher.envelope.js +33 -14
- package/dist/cryptoCipher/cryptoCipher.string.d.ts +2 -1
- package/dist/cryptoCipher/cryptoCipher.string.js +2 -2
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts +9 -0
- package/dist/cryptoConstants/cryptoConstants.guard.js +16 -1
- package/dist/cryptoConstants/cryptoConstants.security.d.ts +34 -1
- package/dist/cryptoConstants/cryptoConstants.security.js +34 -1
- package/dist/cryptoConstants/cryptoConstants.token.d.ts +2 -0
- package/dist/cryptoConstants/cryptoConstants.token.js +2 -0
- package/dist/cryptoConstants/cryptoConstants.type.d.ts +36 -14
- package/dist/cryptoConstants/cryptoConstants.type.js +36 -14
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts +4 -1
- package/dist/cryptoEncoding/cryptoEncoding.compare.js +11 -4
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts +22 -0
- package/dist/cryptoEncoding/cryptoEncoding.core.js +41 -3
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts +10 -2
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js +24 -16
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts +9 -1
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js +23 -20
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts +9 -2
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js +17 -11
- package/dist/cryptoErrors/cryptoErrors.helper.d.ts +30 -0
- package/dist/cryptoErrors/cryptoErrors.helper.js +72 -0
- package/dist/cryptoFactory/cryptoFactory.core.d.ts +37 -6
- package/dist/cryptoFactory/cryptoFactory.core.js +56 -30
- package/dist/cryptoFactory/cryptoFactory.password.d.ts +4 -3
- package/dist/cryptoFactory/cryptoFactory.password.js +4 -4
- package/dist/cryptoFactory/cryptoFactory.token.d.ts +9 -8
- package/dist/cryptoFactory/cryptoFactory.token.js +16 -15
- package/dist/cryptoHash/cryptoHash.codec.d.ts +2 -0
- package/dist/cryptoHash/cryptoHash.codec.js +12 -12
- package/dist/cryptoHash/cryptoHash.compare.d.ts +3 -1
- package/dist/cryptoHash/cryptoHash.compare.js +5 -9
- package/dist/cryptoHash/cryptoHash.core.d.ts +6 -2
- package/dist/cryptoHash/cryptoHash.core.js +9 -2
- package/dist/cryptoHash/cryptoHmac.core.d.ts +8 -5
- package/dist/cryptoHash/cryptoHmac.core.js +22 -9
- package/dist/cryptoKey/cryptoKey.factory.d.ts +29 -2
- package/dist/cryptoKey/cryptoKey.factory.js +82 -18
- package/dist/cryptoKey/cryptoKey.utils.d.ts +5 -3
- package/dist/cryptoKey/cryptoKey.utils.js +5 -3
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts +7 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js +40 -15
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts +2 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js +2 -3
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts +5 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts +2 -2
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js +16 -6
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts +15 -1
- package/dist/cryptoPassword/cryptoPassword.codec.js +127 -56
- package/dist/cryptoPassword/cryptoPassword.core.d.ts +17 -3
- package/dist/cryptoPassword/cryptoPassword.core.js +29 -21
- package/dist/cryptoPassword/cryptoPassword.helper.js +6 -5
- package/dist/cryptoPassword/cryptoPassword.type.d.ts +33 -5
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts +14 -3
- package/dist/cryptoPassword/cryptoPassword.validate.js +51 -20
- package/dist/cryptoProvider/cryptoProvider.default.d.ts +18 -0
- package/dist/cryptoProvider/cryptoProvider.default.js +31 -0
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts +9 -34
- package/dist/cryptoProvider/cryptoProvider.type.d.ts +32 -3
- package/dist/cryptoProvider/cryptoProvider.type.js +40 -1
- package/dist/cryptoProvider/index.d.ts +5 -2
- package/dist/cryptoProvider/index.js +2 -0
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts +11 -6
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts +39 -3
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts +5 -5
- package/dist/cryptoProvider/types/index.d.ts +1 -1
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts +6 -3
- package/dist/cryptoRandom/cryptoRandom.choice.js +10 -6
- package/dist/cryptoRandom/cryptoRandom.core.d.ts +8 -5
- package/dist/cryptoRandom/cryptoRandom.core.js +8 -7
- package/dist/cryptoRandom/cryptoRandom.string.d.ts +11 -9
- package/dist/cryptoRandom/cryptoRandom.string.js +28 -29
- package/dist/cryptoService/cryptoService.core.d.ts +47 -9
- package/dist/cryptoService/cryptoService.core.js +65 -33
- package/dist/cryptoService/cryptoService.derivation.d.ts +3 -3
- package/dist/cryptoService/cryptoService.derivation.js +8 -6
- package/dist/cryptoService/cryptoService.encoding.js +6 -5
- package/dist/cryptoService/index.d.ts +1 -5
- package/dist/cryptoService/index.js +1 -5
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts +3 -2
- package/dist/cryptoService/operations/cryptoService.cipher.js +13 -9
- package/dist/cryptoService/operations/cryptoService.hash.d.ts +3 -2
- package/dist/cryptoService/operations/cryptoService.hash.js +7 -8
- package/dist/cryptoService/operations/cryptoService.password.d.ts +7 -2
- package/dist/cryptoService/operations/cryptoService.password.js +20 -9
- package/dist/cryptoService/operations/cryptoService.token.d.ts +9 -4
- package/dist/cryptoService/operations/cryptoService.token.js +31 -17
- package/dist/cryptoSignature/cryptoSignature.core.d.ts +10 -2
- package/dist/cryptoSignature/cryptoSignature.core.js +7 -3
- package/dist/cryptoToken/cryptoToken.core.d.ts +15 -9
- package/dist/cryptoToken/cryptoToken.core.js +63 -38
- package/dist/cryptoToken/cryptoToken.hash.d.ts +9 -7
- package/dist/cryptoToken/cryptoToken.hash.js +19 -43
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts +3 -1
- package/dist/cryptoUtils/cryptoUtils.compare.js +5 -14
- package/dist/cryptoUtils/cryptoUtils.number.d.ts +3 -0
- package/dist/cryptoUtils/cryptoUtils.number.js +12 -6
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts +2 -2
- package/dist/cryptoUtils/cryptoUtils.validation.js +6 -8
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts +4 -4
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js +5 -23
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts +4 -4
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js +5 -32
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts +4 -4
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js +5 -20
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -2
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts +6 -29
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js +0 -1
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts +9 -4
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js +25 -43
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts +7 -0
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js +89 -30
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts +17 -10
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js +112 -72
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts +3 -12
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js +74 -25
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js +7 -2
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts +6 -0
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js +18 -18
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts +10 -12
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js +75 -20
- package/dist/node/signing/signing.conversion.d.ts +13 -3
- package/dist/node/signing/signing.conversion.js +35 -15
- package/dist/node/signing/signing.core.d.ts +2 -1
- package/dist/node/signing/signing.core.js +2 -3
- package/dist/node/signing/signing.utils.d.ts +10 -2
- package/dist/node/signing/signing.utils.js +26 -5
- package/package.json +18 -8
- package/dist/.tsbuildinfo +0 -1
- package/dist/compare/compare.helper.d.ts.map +0 -1
- package/dist/compare/compare.helper.js.map +0 -1
- package/dist/compare/index.d.ts.map +0 -1
- package/dist/compare/index.js.map +0 -1
- package/dist/cryptoAlgorithm/index.d.ts +0 -8
- package/dist/cryptoAlgorithm/index.d.ts.map +0 -1
- package/dist/cryptoAlgorithm/index.js +0 -8
- package/dist/cryptoAlgorithm/index.js.map +0 -1
- package/dist/cryptoCipher/cryptoCipher.core.d.ts.map +0 -1
- package/dist/cryptoCipher/cryptoCipher.core.js.map +0 -1
- package/dist/cryptoCipher/cryptoCipher.envelope.d.ts.map +0 -1
- package/dist/cryptoCipher/cryptoCipher.envelope.js.map +0 -1
- package/dist/cryptoCipher/cryptoCipher.string.d.ts.map +0 -1
- package/dist/cryptoCipher/cryptoCipher.string.js.map +0 -1
- package/dist/cryptoCipher/index.d.ts.map +0 -1
- package/dist/cryptoCipher/index.js.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.config.d.ts.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.config.js.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.guard.d.ts.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.guard.js.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.security.d.ts.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.security.js.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.token.d.ts.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.token.js.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.type.d.ts.map +0 -1
- package/dist/cryptoConstants/cryptoConstants.type.js.map +0 -1
- package/dist/cryptoConstants/index.d.ts.map +0 -1
- package/dist/cryptoConstants/index.js.map +0 -1
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts.map +0 -1
- package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js.map +0 -1
- package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts.map +0 -1
- package/dist/cryptoEncoding/cryptoEncoding.compare.js.map +0 -1
- package/dist/cryptoEncoding/cryptoEncoding.core.d.ts.map +0 -1
- package/dist/cryptoEncoding/cryptoEncoding.core.js.map +0 -1
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts.map +0 -1
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js.map +0 -1
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts.map +0 -1
- package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js.map +0 -1
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts.map +0 -1
- package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js.map +0 -1
- package/dist/cryptoEncoding/encoding/index.d.ts.map +0 -1
- package/dist/cryptoEncoding/encoding/index.js.map +0 -1
- package/dist/cryptoEncoding/index.d.ts.map +0 -1
- package/dist/cryptoEncoding/index.js.map +0 -1
- package/dist/cryptoErrors/index.d.ts.map +0 -1
- package/dist/cryptoErrors/index.js.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.core.d.ts.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.core.js.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.encoding.d.ts.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.encoding.js.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.options.d.ts +0 -2
- package/dist/cryptoFactory/cryptoFactory.options.d.ts.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.options.js +0 -6
- package/dist/cryptoFactory/cryptoFactory.options.js.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.password.d.ts.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.password.js.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.token.d.ts.map +0 -1
- package/dist/cryptoFactory/cryptoFactory.token.js.map +0 -1
- package/dist/cryptoFactory/index.d.ts.map +0 -1
- package/dist/cryptoFactory/index.js.map +0 -1
- package/dist/cryptoHash/cryptoHash.codec.d.ts.map +0 -1
- package/dist/cryptoHash/cryptoHash.codec.js.map +0 -1
- package/dist/cryptoHash/cryptoHash.compare.d.ts.map +0 -1
- package/dist/cryptoHash/cryptoHash.compare.js.map +0 -1
- package/dist/cryptoHash/cryptoHash.convenience.d.ts.map +0 -1
- package/dist/cryptoHash/cryptoHash.convenience.js.map +0 -1
- package/dist/cryptoHash/cryptoHash.core.d.ts.map +0 -1
- package/dist/cryptoHash/cryptoHash.core.js.map +0 -1
- package/dist/cryptoHash/cryptoHmac.core.d.ts.map +0 -1
- package/dist/cryptoHash/cryptoHmac.core.js.map +0 -1
- package/dist/cryptoHash/index.d.ts.map +0 -1
- package/dist/cryptoHash/index.js.map +0 -1
- package/dist/cryptoKey/cryptoKey.factory.d.ts.map +0 -1
- package/dist/cryptoKey/cryptoKey.factory.js.map +0 -1
- package/dist/cryptoKey/cryptoKey.type.d.ts.map +0 -1
- package/dist/cryptoKey/cryptoKey.type.js.map +0 -1
- package/dist/cryptoKey/cryptoKey.utils.d.ts.map +0 -1
- package/dist/cryptoKey/cryptoKey.utils.js.map +0 -1
- package/dist/cryptoKey/index.d.ts.map +0 -1
- package/dist/cryptoKey/index.js.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts.map +0 -1
- package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js.map +0 -1
- package/dist/cryptoKeyDerivation/index.d.ts.map +0 -1
- package/dist/cryptoKeyDerivation/index.js.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.codec.d.ts.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.codec.js.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.core.d.ts.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.core.js.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.helper.d.ts.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.helper.js.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.type.d.ts.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.type.js.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.validate.d.ts.map +0 -1
- package/dist/cryptoPassword/cryptoPassword.validate.js.map +0 -1
- package/dist/cryptoPassword/index.d.ts.map +0 -1
- package/dist/cryptoPassword/index.js.map +0 -1
- package/dist/cryptoProvider/cryptoProvider.core.d.ts.map +0 -1
- package/dist/cryptoProvider/cryptoProvider.core.js.map +0 -1
- package/dist/cryptoProvider/cryptoProvider.interface.d.ts.map +0 -1
- package/dist/cryptoProvider/cryptoProvider.interface.js.map +0 -1
- package/dist/cryptoProvider/cryptoProvider.type.d.ts.map +0 -1
- package/dist/cryptoProvider/cryptoProvider.type.js.map +0 -1
- package/dist/cryptoProvider/index.d.ts.map +0 -1
- package/dist/cryptoProvider/index.js.map +0 -1
- package/dist/cryptoProvider/types/cryptoCipher.type.d.ts.map +0 -1
- package/dist/cryptoProvider/types/cryptoCipher.type.js.map +0 -1
- package/dist/cryptoProvider/types/cryptoHash.type.d.ts.map +0 -1
- package/dist/cryptoProvider/types/cryptoHash.type.js.map +0 -1
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts.map +0 -1
- package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js.map +0 -1
- package/dist/cryptoProvider/types/cryptoRandom.type.d.ts.map +0 -1
- package/dist/cryptoProvider/types/cryptoRandom.type.js.map +0 -1
- package/dist/cryptoProvider/types/cryptoSignature.type.d.ts.map +0 -1
- package/dist/cryptoProvider/types/cryptoSignature.type.js.map +0 -1
- package/dist/cryptoProvider/types/index.d.ts.map +0 -1
- package/dist/cryptoProvider/types/index.js.map +0 -1
- package/dist/cryptoRandom/cryptoRandom.choice.d.ts.map +0 -1
- package/dist/cryptoRandom/cryptoRandom.choice.js.map +0 -1
- package/dist/cryptoRandom/cryptoRandom.core.d.ts.map +0 -1
- package/dist/cryptoRandom/cryptoRandom.core.js.map +0 -1
- package/dist/cryptoRandom/cryptoRandom.string.d.ts.map +0 -1
- package/dist/cryptoRandom/cryptoRandom.string.js.map +0 -1
- package/dist/cryptoRandom/index.d.ts.map +0 -1
- package/dist/cryptoRandom/index.js.map +0 -1
- package/dist/cryptoService/cryptoService.core.d.ts.map +0 -1
- package/dist/cryptoService/cryptoService.core.js.map +0 -1
- package/dist/cryptoService/cryptoService.derivation.d.ts.map +0 -1
- package/dist/cryptoService/cryptoService.derivation.js.map +0 -1
- package/dist/cryptoService/cryptoService.encoding.d.ts.map +0 -1
- package/dist/cryptoService/cryptoService.encoding.js.map +0 -1
- package/dist/cryptoService/index.d.ts.map +0 -1
- package/dist/cryptoService/index.js.map +0 -1
- package/dist/cryptoService/operations/cryptoService.cipher.d.ts.map +0 -1
- package/dist/cryptoService/operations/cryptoService.cipher.js.map +0 -1
- package/dist/cryptoService/operations/cryptoService.hash.d.ts.map +0 -1
- package/dist/cryptoService/operations/cryptoService.hash.js.map +0 -1
- package/dist/cryptoService/operations/cryptoService.password.d.ts.map +0 -1
- package/dist/cryptoService/operations/cryptoService.password.js.map +0 -1
- package/dist/cryptoService/operations/cryptoService.token.d.ts.map +0 -1
- package/dist/cryptoService/operations/cryptoService.token.js.map +0 -1
- package/dist/cryptoService/operations/index.d.ts.map +0 -1
- package/dist/cryptoService/operations/index.js.map +0 -1
- package/dist/cryptoSignature/cryptoSignature.core.d.ts.map +0 -1
- package/dist/cryptoSignature/cryptoSignature.core.js.map +0 -1
- package/dist/cryptoSignature/index.d.ts.map +0 -1
- package/dist/cryptoSignature/index.js.map +0 -1
- package/dist/cryptoToken/cryptoToken.core.d.ts.map +0 -1
- package/dist/cryptoToken/cryptoToken.core.js.map +0 -1
- package/dist/cryptoToken/cryptoToken.hash.d.ts.map +0 -1
- package/dist/cryptoToken/cryptoToken.hash.js.map +0 -1
- package/dist/cryptoToken/cryptoToken.utils.d.ts.map +0 -1
- package/dist/cryptoToken/cryptoToken.utils.js.map +0 -1
- package/dist/cryptoToken/index.d.ts.map +0 -1
- package/dist/cryptoToken/index.js.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.compare.d.ts.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.compare.js.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.conversion.d.ts.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.conversion.js.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.number.d.ts.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.number.js.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.text.d.ts.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.text.js.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.validation.d.ts.map +0 -1
- package/dist/cryptoUtils/cryptoUtils.validation.js.map +0 -1
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts.map +0 -1
- package/dist/cryptoUtils/encoding/cryptoUtils.base64.js.map +0 -1
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts.map +0 -1
- package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js.map +0 -1
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts.map +0 -1
- package/dist/cryptoUtils/encoding/cryptoUtils.hex.js.map +0 -1
- package/dist/cryptoUtils/encoding/index.d.ts.map +0 -1
- package/dist/cryptoUtils/encoding/index.js.map +0 -1
- package/dist/cryptoUtils/index.d.ts.map +0 -1
- package/dist/cryptoUtils/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.js.map +0 -1
- package/dist/node/nodeCryptoProvider/index.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/index.js.map +0 -1
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js.map +0 -1
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js.map +0 -1
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js.map +0 -1
- package/dist/node/nodeCryptoProvider/operations/index.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/operations/index.js.map +0 -1
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js.map +0 -1
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/index.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/index.js.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts.map +0 -1
- package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js.map +0 -1
- package/dist/node/signing/index.d.ts.map +0 -1
- package/dist/node/signing/index.js.map +0 -1
- package/dist/node/signing/signing.conversion.d.ts.map +0 -1
- package/dist/node/signing/signing.conversion.js.map +0 -1
- package/dist/node/signing/signing.core.d.ts.map +0 -1
- package/dist/node/signing/signing.core.js.map +0 -1
- package/dist/node/signing/signing.utils.d.ts.map +0 -1
- package/dist/node/signing/signing.utils.js.map +0 -1
|
@@ -1,29 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { isSignatureAlgorithmName } from "../../../cryptoProvider/cryptoProvider.type.js";
|
|
2
|
+
import { createSign, createVerify, sign as signImpl, verify as verifyImpl, } from "node:crypto";
|
|
3
|
+
import { CryptoOperation } from "@zudojs/errors";
|
|
4
|
+
import { toBytes } from "../nodeCryptoProvider.helper.js";
|
|
5
|
+
import { signatureError } from "../../../cryptoErrors/cryptoErrors.helper.js";
|
|
6
|
+
import { toPrivateKey, toPublicKey, } from "../../signing/signing.conversion.js";
|
|
7
|
+
import { nodeSignatureAlgorithm, expectedAsymmetricKeyType, } from "../../signing/signing.utils.js";
|
|
8
|
+
function assertAlgorithm(algorithm, operation) {
|
|
9
|
+
if (!isSignatureAlgorithmName(algorithm)) {
|
|
10
|
+
throw signatureError(`Unsupported signature algorithm: ${String(algorithm)}.`, operation, typeof algorithm === "string" ? algorithm : undefined);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Ensures the key's type matches the requested algorithm so that the
|
|
15
|
+
* algorithm label is a real integrity assertion (an EC key cannot sign
|
|
16
|
+
* under "rsa-sha256").
|
|
17
|
+
*/
|
|
18
|
+
function assertKeyType(key, algorithm, operation) {
|
|
19
|
+
const expected = expectedAsymmetricKeyType(algorithm);
|
|
20
|
+
if (key.asymmetricKeyType !== expected) {
|
|
21
|
+
throw signatureError(`Signature algorithm "${algorithm}" requires a ${expected} key, received ${String(key.asymmetricKeyType)}.`, operation, algorithm);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
3
24
|
export async function sign(options) {
|
|
4
25
|
const algorithm = options.algorithm ?? "ed25519";
|
|
5
|
-
|
|
26
|
+
assertAlgorithm(algorithm, CryptoOperation.SIGN);
|
|
6
27
|
const data = toBytes(options.data);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
28
|
+
let privateKey;
|
|
29
|
+
try {
|
|
30
|
+
privateKey = toPrivateKey(options.key);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw signatureError("Invalid private key.", CryptoOperation.SIGN, algorithm, error);
|
|
34
|
+
}
|
|
35
|
+
assertKeyType(privateKey, algorithm, CryptoOperation.SIGN);
|
|
36
|
+
try {
|
|
37
|
+
if (algorithm === "ed25519") {
|
|
38
|
+
return new Uint8Array(signImpl(null, data, privateKey));
|
|
39
|
+
}
|
|
40
|
+
const signer = createSign(nodeSignatureAlgorithm(algorithm));
|
|
41
|
+
signer.update(data);
|
|
42
|
+
signer.end();
|
|
43
|
+
return new Uint8Array(signer.sign(privateKey));
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
throw signatureError("Signing failed.", CryptoOperation.SIGN, algorithm, error);
|
|
47
|
+
}
|
|
15
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Verifies a signature.
|
|
51
|
+
*
|
|
52
|
+
* Returns false for a malformed key, malformed signature or mismatching
|
|
53
|
+
* data. Throws only for programmer errors (unsupported algorithm, key
|
|
54
|
+
* type that cannot be used with the algorithm).
|
|
55
|
+
*/
|
|
16
56
|
export async function verify(options) {
|
|
17
57
|
const algorithm = options.algorithm ?? "ed25519";
|
|
18
|
-
|
|
58
|
+
assertAlgorithm(algorithm, CryptoOperation.VERIFY_SIGNATURE);
|
|
59
|
+
if (!(options.signature instanceof Uint8Array)) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
19
62
|
const data = toBytes(options.data);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
63
|
+
let publicKey;
|
|
64
|
+
try {
|
|
65
|
+
publicKey = toPublicKey(options.key);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
assertKeyType(publicKey, algorithm, CryptoOperation.VERIFY_SIGNATURE);
|
|
71
|
+
try {
|
|
72
|
+
if (algorithm === "ed25519") {
|
|
73
|
+
return verifyImpl(null, data, publicKey, options.signature);
|
|
74
|
+
}
|
|
75
|
+
const verifier = createVerify(nodeSignatureAlgorithm(algorithm));
|
|
76
|
+
verifier.update(data);
|
|
77
|
+
verifier.end();
|
|
78
|
+
return verifier.verify(publicKey, options.signature);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
28
83
|
}
|
|
29
84
|
//# sourceMappingURL=nodeCryptoProvider.signing.js.map
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import type { CryptoKey } from "../../cryptoKey/cryptoKey.type.js";
|
|
2
2
|
import { type KeyObject } from "node:crypto";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Key material accepted by the conversion helpers.
|
|
5
|
+
*
|
|
6
|
+
* - `KeyObject`: used as-is.
|
|
7
|
+
* - `string`: PEM text.
|
|
8
|
+
* - `Uint8Array`/`ArrayBuffer`: PEM text when the bytes start with
|
|
9
|
+
* `-----BEGIN`, otherwise DER (PKCS#8 for private keys, SPKI for
|
|
10
|
+
* public keys).
|
|
11
|
+
*/
|
|
12
|
+
export type KeyMaterial = KeyObject | string | Uint8Array | ArrayBuffer;
|
|
13
|
+
/**
|
|
14
|
+
* Converts a CryptoKey holding a PKCS#8 DER Ed25519 key into a KeyObject.
|
|
5
15
|
*/
|
|
6
16
|
export declare function cryptoKeyToPrivateKey(key: CryptoKey): KeyObject;
|
|
7
|
-
export declare function toPrivateKey(key:
|
|
8
|
-
export declare function toPublicKey(key:
|
|
17
|
+
export declare function toPrivateKey(key: KeyMaterial): KeyObject;
|
|
18
|
+
export declare function toPublicKey(key: KeyMaterial): KeyObject;
|
|
9
19
|
//# sourceMappingURL=signing.conversion.d.ts.map
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import { createPrivateKey, createPublicKey } from "node:crypto";
|
|
2
2
|
import { isKeyObject } from "./signing.utils.js";
|
|
3
|
+
const PEM_PREFIX = Buffer.from("-----BEGIN", "utf8");
|
|
4
|
+
function looksLikePem(bytes) {
|
|
5
|
+
if (bytes.byteLength < PEM_PREFIX.byteLength) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
for (let index = 0; index < PEM_PREFIX.byteLength; index += 1) {
|
|
9
|
+
if (bytes[index] !== PEM_PREFIX[index]) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
3
15
|
/**
|
|
4
|
-
* Converts a CryptoKey into a
|
|
16
|
+
* Converts a CryptoKey holding a PKCS#8 DER Ed25519 key into a KeyObject.
|
|
5
17
|
*/
|
|
6
18
|
export function cryptoKeyToPrivateKey(key) {
|
|
7
19
|
if (key.algorithm !== "ed25519") {
|
|
@@ -23,14 +35,18 @@ export function toPrivateKey(key) {
|
|
|
23
35
|
if (typeof key === "string") {
|
|
24
36
|
return createPrivateKey(key);
|
|
25
37
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
format: "der",
|
|
30
|
-
type: "pkcs8",
|
|
31
|
-
});
|
|
38
|
+
const bytes = key instanceof ArrayBuffer ? new Uint8Array(key) : key;
|
|
39
|
+
if (!(bytes instanceof Uint8Array)) {
|
|
40
|
+
throw new TypeError("Invalid private key.");
|
|
32
41
|
}
|
|
33
|
-
|
|
42
|
+
if (looksLikePem(bytes)) {
|
|
43
|
+
return createPrivateKey(Buffer.from(bytes));
|
|
44
|
+
}
|
|
45
|
+
return createPrivateKey({
|
|
46
|
+
key: Buffer.from(bytes),
|
|
47
|
+
format: "der",
|
|
48
|
+
type: "pkcs8",
|
|
49
|
+
});
|
|
34
50
|
}
|
|
35
51
|
export function toPublicKey(key) {
|
|
36
52
|
if (isKeyObject(key)) {
|
|
@@ -39,13 +55,17 @@ export function toPublicKey(key) {
|
|
|
39
55
|
if (typeof key === "string") {
|
|
40
56
|
return createPublicKey(key);
|
|
41
57
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
58
|
+
const bytes = key instanceof ArrayBuffer ? new Uint8Array(key) : key;
|
|
59
|
+
if (!(bytes instanceof Uint8Array)) {
|
|
60
|
+
throw new TypeError("Invalid public key.");
|
|
61
|
+
}
|
|
62
|
+
if (looksLikePem(bytes)) {
|
|
63
|
+
return createPublicKey(Buffer.from(bytes));
|
|
48
64
|
}
|
|
49
|
-
|
|
65
|
+
return createPublicKey({
|
|
66
|
+
key: Buffer.from(bytes),
|
|
67
|
+
format: "der",
|
|
68
|
+
type: "spki",
|
|
69
|
+
});
|
|
50
70
|
}
|
|
51
71
|
//# sourceMappingURL=signing.conversion.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type KeyObject } from "node:crypto";
|
|
2
|
+
import { type KeyMaterial } from "./signing.conversion.js";
|
|
2
3
|
/**
|
|
3
4
|
* Generates an Ed25519 key pair.
|
|
4
5
|
*/
|
|
@@ -17,5 +18,5 @@ export declare function exportPublicKeyPem(publicKey: KeyObject): string;
|
|
|
17
18
|
/**
|
|
18
19
|
* Creates a public key from a private key.
|
|
19
20
|
*/
|
|
20
|
-
export declare function derivePublicKey(privateKey:
|
|
21
|
+
export declare function derivePublicKey(privateKey: KeyMaterial): KeyObject;
|
|
21
22
|
//# sourceMappingURL=signing.core.d.ts.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { generateKeyPairSync,
|
|
2
|
-
import {
|
|
3
|
-
import { cryptoKeyToPrivateKey, toPrivateKey } from "./signing.conversion.js";
|
|
1
|
+
import { generateKeyPairSync, createPublicKey } from "node:crypto";
|
|
2
|
+
import { toPrivateKey } from "./signing.conversion.js";
|
|
4
3
|
import { assertKeyObject } from "./signing.utils.js";
|
|
5
4
|
/**
|
|
6
5
|
* Generates an Ed25519 key pair.
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import type { SignatureAlgorithm } from "../../cryptoProvider/index.js";
|
|
2
|
-
import
|
|
2
|
+
import { KeyObject } from "node:crypto";
|
|
3
3
|
/**
|
|
4
|
-
* Maps a signature algorithm to
|
|
4
|
+
* Maps a signature algorithm to the OpenSSL digest name used with
|
|
5
|
+
* `createSign`/`createVerify`.
|
|
6
|
+
*
|
|
7
|
+
* Ed25519 is a pure signature scheme and has no digest; use
|
|
8
|
+
* `crypto.sign(null, ...)` for it instead.
|
|
5
9
|
*/
|
|
6
10
|
export declare function nodeSignatureAlgorithm(algorithm: SignatureAlgorithm): string;
|
|
11
|
+
/**
|
|
12
|
+
* Returns the `KeyObject.asymmetricKeyType` a signature algorithm requires.
|
|
13
|
+
*/
|
|
14
|
+
export declare function expectedAsymmetricKeyType(algorithm: SignatureAlgorithm): "rsa" | "ec" | "ed25519";
|
|
7
15
|
/**
|
|
8
16
|
* Checks whether a value is a Node.js KeyObject.
|
|
9
17
|
*/
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { KeyObject } from "node:crypto";
|
|
1
2
|
/**
|
|
2
|
-
* Maps a signature algorithm to
|
|
3
|
+
* Maps a signature algorithm to the OpenSSL digest name used with
|
|
4
|
+
* `createSign`/`createVerify`.
|
|
5
|
+
*
|
|
6
|
+
* Ed25519 is a pure signature scheme and has no digest; use
|
|
7
|
+
* `crypto.sign(null, ...)` for it instead.
|
|
3
8
|
*/
|
|
4
9
|
export function nodeSignatureAlgorithm(algorithm) {
|
|
5
10
|
switch (algorithm) {
|
|
@@ -21,14 +26,30 @@ export function nodeSignatureAlgorithm(algorithm) {
|
|
|
21
26
|
throw new TypeError(`Unsupported signature algorithm: ${String(algorithm)}.`);
|
|
22
27
|
}
|
|
23
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Returns the `KeyObject.asymmetricKeyType` a signature algorithm requires.
|
|
31
|
+
*/
|
|
32
|
+
export function expectedAsymmetricKeyType(algorithm) {
|
|
33
|
+
switch (algorithm) {
|
|
34
|
+
case "rsa-sha256":
|
|
35
|
+
case "rsa-sha384":
|
|
36
|
+
case "rsa-sha512":
|
|
37
|
+
return "rsa";
|
|
38
|
+
case "ecdsa-sha256":
|
|
39
|
+
case "ecdsa-sha384":
|
|
40
|
+
case "ecdsa-sha512":
|
|
41
|
+
return "ec";
|
|
42
|
+
case "ed25519":
|
|
43
|
+
return "ed25519";
|
|
44
|
+
default:
|
|
45
|
+
throw new TypeError(`Unsupported signature algorithm: ${String(algorithm)}.`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
24
48
|
/**
|
|
25
49
|
* Checks whether a value is a Node.js KeyObject.
|
|
26
50
|
*/
|
|
27
51
|
export function isKeyObject(value) {
|
|
28
|
-
return
|
|
29
|
-
value !== null &&
|
|
30
|
-
"type" in value &&
|
|
31
|
-
"export" in value);
|
|
52
|
+
return value instanceof KeyObject;
|
|
32
53
|
}
|
|
33
54
|
/**
|
|
34
55
|
* Asserts that a value is a Node.js KeyObject.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zudojs/crypto",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Cryptographic primitives for hashing, encryption, tokens, and secure random generation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,18 +13,23 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
-
"dist"
|
|
16
|
+
"dist",
|
|
17
|
+
"!dist/**/*.map",
|
|
18
|
+
"!dist/**/*.tsbuildinfo",
|
|
19
|
+
"!dist/.tsbuildinfo",
|
|
20
|
+
"LICENSE"
|
|
17
21
|
],
|
|
18
22
|
"engines": {
|
|
19
23
|
"node": ">=24.0.0"
|
|
20
24
|
},
|
|
21
25
|
"dependencies": {
|
|
22
|
-
"@zudojs/constants": "0.0
|
|
23
|
-
"@zudojs/errors": "0.0
|
|
26
|
+
"@zudojs/constants": "1.0.0",
|
|
27
|
+
"@zudojs/errors": "1.0.0"
|
|
24
28
|
},
|
|
25
29
|
"license": "MIT",
|
|
26
30
|
"devDependencies": {
|
|
27
|
-
"typescript": "
|
|
31
|
+
"typescript": "7.0.2",
|
|
32
|
+
"vitest": "^4.1.11"
|
|
28
33
|
},
|
|
29
34
|
"publishConfig": {
|
|
30
35
|
"access": "public"
|
|
@@ -37,14 +42,19 @@
|
|
|
37
42
|
"security"
|
|
38
43
|
],
|
|
39
44
|
"homepage": "https://github.com/oyinlola-tech/zudo#readme",
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/oyinlola-tech/zudo/issues"
|
|
47
|
+
},
|
|
40
48
|
"repository": {
|
|
41
49
|
"type": "git",
|
|
42
|
-
"url": "https://github.com/oyinlola-tech/zudo"
|
|
50
|
+
"url": "https://github.com/oyinlola-tech/zudo",
|
|
51
|
+
"directory": "packages/crypto"
|
|
43
52
|
},
|
|
53
|
+
"sideEffects": false,
|
|
44
54
|
"scripts": {
|
|
45
55
|
"build": "tsc -p tsconfig.json",
|
|
46
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
47
|
-
"clean": "rm -rf dist",
|
|
56
|
+
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit",
|
|
57
|
+
"clean": "rm -rf dist *.tsbuildinfo",
|
|
48
58
|
"test": "vitest run",
|
|
49
59
|
"test:watch": "vitest"
|
|
50
60
|
}
|