@opentdf/sdk 0.1.0-beta.1701
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 +52 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/src/access.js +155 -0
- package/dist/cjs/src/auth/Eas.js +60 -0
- package/dist/cjs/src/auth/auth.js +79 -0
- package/dist/cjs/src/auth/oidc-clientcredentials-provider.js +26 -0
- package/dist/cjs/src/auth/oidc-externaljwt-provider.js +33 -0
- package/dist/cjs/src/auth/oidc-refreshtoken-provider.js +34 -0
- package/dist/cjs/src/auth/oidc.js +222 -0
- package/dist/cjs/src/auth/providers.js +143 -0
- package/dist/cjs/src/encodings/base64.js +154 -0
- package/dist/cjs/src/encodings/hex.js +70 -0
- package/dist/cjs/src/encodings/index.js +29 -0
- package/dist/cjs/src/errors.js +138 -0
- package/dist/cjs/src/index.js +344 -0
- package/dist/cjs/src/nanotdf/Client.js +296 -0
- package/dist/cjs/src/nanotdf/NanoTDF.js +94 -0
- package/dist/cjs/src/nanotdf/browser-entry.js +19 -0
- package/dist/cjs/src/nanotdf/constants.js +5 -0
- package/dist/cjs/src/nanotdf/decrypt.js +17 -0
- package/dist/cjs/src/nanotdf/encrypt-dataset.js +38 -0
- package/dist/cjs/src/nanotdf/encrypt.js +132 -0
- package/dist/cjs/src/nanotdf/enum/CipherEnum.js +13 -0
- package/dist/cjs/src/nanotdf/enum/CurveNameEnum.js +15 -0
- package/dist/cjs/src/nanotdf/enum/EncodingEnum.js +8 -0
- package/dist/cjs/src/nanotdf/enum/PolicyTypeEnum.js +11 -0
- package/dist/cjs/src/nanotdf/enum/ProtocolEnum.js +10 -0
- package/dist/cjs/src/nanotdf/enum/ResourceLocatorIdentifierEnum.js +11 -0
- package/dist/cjs/src/nanotdf/helpers/calculateByCurve.js +29 -0
- package/dist/cjs/src/nanotdf/helpers/getHkdfSalt.js +11 -0
- package/dist/cjs/src/nanotdf/index.js +25 -0
- package/dist/cjs/src/nanotdf/interfaces/PolicyInterface.js +3 -0
- package/dist/cjs/src/nanotdf/models/Ciphers.js +61 -0
- package/dist/cjs/src/nanotdf/models/DefaultParams.js +27 -0
- package/dist/cjs/src/nanotdf/models/EcCurves.js +39 -0
- package/dist/cjs/src/nanotdf/models/Header.js +255 -0
- package/dist/cjs/src/nanotdf/models/Payload.js +158 -0
- package/dist/cjs/src/nanotdf/models/Policy/AbstractPolicy.js +73 -0
- package/dist/cjs/src/nanotdf/models/Policy/EmbeddedPolicy.js +82 -0
- package/dist/cjs/src/nanotdf/models/Policy/PolicyFactory.js +38 -0
- package/dist/cjs/src/nanotdf/models/Policy/RemotePolicy.js +62 -0
- package/dist/cjs/src/nanotdf/models/ResourceLocator.js +211 -0
- package/dist/cjs/src/nanotdf/models/Signature.js +77 -0
- package/dist/cjs/src/nanotdf-crypto/ciphers.js +17 -0
- package/dist/cjs/src/nanotdf-crypto/decrypt.js +24 -0
- package/dist/cjs/src/nanotdf-crypto/digest.js +7 -0
- package/dist/cjs/src/nanotdf-crypto/ecdsaSignature.js +83 -0
- package/dist/cjs/src/nanotdf-crypto/encrypt.js +24 -0
- package/dist/cjs/src/nanotdf-crypto/enums.js +52 -0
- package/dist/cjs/src/nanotdf-crypto/exportCryptoKey.js +20 -0
- package/dist/cjs/src/nanotdf-crypto/generateKeyPair.js +13 -0
- package/dist/cjs/src/nanotdf-crypto/generateRandomNumber.js +12 -0
- package/dist/cjs/src/nanotdf-crypto/importRawKey.js +18 -0
- package/dist/cjs/src/nanotdf-crypto/index.js +52 -0
- package/dist/cjs/src/nanotdf-crypto/keyAgreement.js +91 -0
- package/dist/cjs/src/nanotdf-crypto/pemPublicToCrypto.js +225 -0
- package/dist/cjs/src/policy/api.js +58 -0
- package/dist/cjs/src/policy/attributes.js +3 -0
- package/dist/cjs/src/policy/granter.js +146 -0
- package/dist/cjs/src/tdf/AttributeObject.js +15 -0
- package/dist/cjs/src/tdf/AttributeObjectJwt.js +3 -0
- package/dist/cjs/src/tdf/Crypto.js +47 -0
- package/dist/cjs/src/tdf/EntityObject.js +3 -0
- package/dist/cjs/src/tdf/NanoTDF/NanoTDF.js +38 -0
- package/dist/cjs/src/tdf/Policy.js +50 -0
- package/dist/cjs/src/tdf/PolicyObject.js +3 -0
- package/dist/cjs/src/tdf/TypedArray.js +3 -0
- package/dist/cjs/src/tdf/index.js +35 -0
- package/dist/cjs/src/types/index.js +3 -0
- package/dist/cjs/src/utils.js +147 -0
- package/dist/cjs/src/version.js +12 -0
- package/dist/cjs/tdf3/index.js +57 -0
- package/dist/cjs/tdf3/src/assertions.js +118 -0
- package/dist/cjs/tdf3/src/binary.js +153 -0
- package/dist/cjs/tdf3/src/ciphers/aes-gcm-cipher.js +56 -0
- package/dist/cjs/tdf3/src/ciphers/algorithms.js +8 -0
- package/dist/cjs/tdf3/src/ciphers/index.js +8 -0
- package/dist/cjs/tdf3/src/ciphers/symmetric-cipher-base.js +22 -0
- package/dist/cjs/tdf3/src/client/DecoratedReadableStream.js +116 -0
- package/dist/cjs/tdf3/src/client/builders.js +561 -0
- package/dist/cjs/tdf3/src/client/index.js +460 -0
- package/dist/cjs/tdf3/src/client/validation.js +63 -0
- package/dist/cjs/tdf3/src/crypto/crypto-utils.js +116 -0
- package/dist/cjs/tdf3/src/crypto/declarations.js +8 -0
- package/dist/cjs/tdf3/src/crypto/index.js +315 -0
- package/dist/cjs/tdf3/src/index.js +34 -0
- package/dist/cjs/tdf3/src/models/attribute-set.js +122 -0
- package/dist/cjs/tdf3/src/models/encryption-information.js +90 -0
- package/dist/cjs/tdf3/src/models/index.js +25 -0
- package/dist/cjs/tdf3/src/models/key-access.js +103 -0
- package/dist/cjs/tdf3/src/models/manifest.js +3 -0
- package/dist/cjs/tdf3/src/models/payload.js +3 -0
- package/dist/cjs/tdf3/src/models/policy.js +24 -0
- package/dist/cjs/tdf3/src/models/upsert-response.js +3 -0
- package/dist/cjs/tdf3/src/tdf.js +907 -0
- package/dist/cjs/tdf3/src/templates/default.html.js +98 -0
- package/dist/cjs/tdf3/src/templates/escaper.js +15 -0
- package/dist/cjs/tdf3/src/templates/index.js +12 -0
- package/dist/cjs/tdf3/src/utils/buffer-crc32.js +48 -0
- package/dist/cjs/tdf3/src/utils/chunkers.js +106 -0
- package/dist/cjs/tdf3/src/utils/index.js +296 -0
- package/dist/cjs/tdf3/src/utils/keysplit.js +61 -0
- package/dist/cjs/tdf3/src/utils/zip-reader.js +253 -0
- package/dist/cjs/tdf3/src/utils/zip-writer.js +308 -0
- package/dist/cjs/tdf3/src/version.js +6 -0
- package/dist/types/src/access.d.ts +47 -0
- package/dist/types/src/access.d.ts.map +1 -0
- package/dist/types/src/auth/Eas.d.ts +34 -0
- package/dist/types/src/auth/Eas.d.ts.map +1 -0
- package/dist/types/src/auth/auth.d.ts +86 -0
- package/dist/types/src/auth/auth.d.ts.map +1 -0
- package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts +9 -0
- package/dist/types/src/auth/oidc-clientcredentials-provider.d.ts.map +1 -0
- package/dist/types/src/auth/oidc-externaljwt-provider.d.ts +10 -0
- package/dist/types/src/auth/oidc-externaljwt-provider.d.ts.map +1 -0
- package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts +10 -0
- package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts.map +1 -0
- package/dist/types/src/auth/oidc.d.ts +104 -0
- package/dist/types/src/auth/oidc.d.ts.map +1 -0
- package/dist/types/src/auth/providers.d.ts +67 -0
- package/dist/types/src/auth/providers.d.ts.map +1 -0
- package/dist/types/src/encodings/base64.d.ts +18 -0
- package/dist/types/src/encodings/base64.d.ts.map +1 -0
- package/dist/types/src/encodings/hex.d.ts +5 -0
- package/dist/types/src/encodings/hex.d.ts.map +1 -0
- package/dist/types/src/encodings/index.d.ts +3 -0
- package/dist/types/src/encodings/index.d.ts.map +1 -0
- package/dist/types/src/errors.d.ts +72 -0
- package/dist/types/src/errors.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +138 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/nanotdf/Client.d.ts +95 -0
- package/dist/types/src/nanotdf/Client.d.ts.map +1 -0
- package/dist/types/src/nanotdf/NanoTDF.d.ts +25 -0
- package/dist/types/src/nanotdf/NanoTDF.d.ts.map +1 -0
- package/dist/types/src/nanotdf/browser-entry.d.ts +17 -0
- package/dist/types/src/nanotdf/browser-entry.d.ts.map +1 -0
- package/dist/types/src/nanotdf/constants.d.ts +2 -0
- package/dist/types/src/nanotdf/constants.d.ts.map +1 -0
- package/dist/types/src/nanotdf/decrypt.d.ts +9 -0
- package/dist/types/src/nanotdf/decrypt.d.ts.map +1 -0
- package/dist/types/src/nanotdf/encrypt-dataset.d.ts +12 -0
- package/dist/types/src/nanotdf/encrypt-dataset.d.ts.map +1 -0
- package/dist/types/src/nanotdf/encrypt.d.ts +14 -0
- package/dist/types/src/nanotdf/encrypt.d.ts.map +1 -0
- package/dist/types/src/nanotdf/enum/CipherEnum.d.ts +10 -0
- package/dist/types/src/nanotdf/enum/CipherEnum.d.ts.map +1 -0
- package/dist/types/src/nanotdf/enum/CurveNameEnum.d.ts +12 -0
- package/dist/types/src/nanotdf/enum/CurveNameEnum.d.ts.map +1 -0
- package/dist/types/src/nanotdf/enum/EncodingEnum.d.ts +5 -0
- package/dist/types/src/nanotdf/enum/EncodingEnum.d.ts.map +1 -0
- package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts +8 -0
- package/dist/types/src/nanotdf/enum/PolicyTypeEnum.d.ts.map +1 -0
- package/dist/types/src/nanotdf/enum/ProtocolEnum.d.ts +7 -0
- package/dist/types/src/nanotdf/enum/ProtocolEnum.d.ts.map +1 -0
- package/dist/types/src/nanotdf/enum/ResourceLocatorIdentifierEnum.d.ts +8 -0
- package/dist/types/src/nanotdf/enum/ResourceLocatorIdentifierEnum.d.ts.map +1 -0
- package/dist/types/src/nanotdf/helpers/calculateByCurve.d.ts +20 -0
- package/dist/types/src/nanotdf/helpers/calculateByCurve.d.ts.map +1 -0
- package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts +9 -0
- package/dist/types/src/nanotdf/helpers/getHkdfSalt.d.ts.map +1 -0
- package/dist/types/src/nanotdf/index.d.ts +9 -0
- package/dist/types/src/nanotdf/index.d.ts.map +1 -0
- package/dist/types/src/nanotdf/interfaces/PolicyInterface.d.ts +17 -0
- package/dist/types/src/nanotdf/interfaces/PolicyInterface.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Ciphers.d.ts +14 -0
- package/dist/types/src/nanotdf/models/Ciphers.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/DefaultParams.d.ts +21 -0
- package/dist/types/src/nanotdf/models/DefaultParams.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/EcCurves.d.ts +15 -0
- package/dist/types/src/nanotdf/models/EcCurves.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Header.d.ts +73 -0
- package/dist/types/src/nanotdf/models/Header.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Payload.d.ts +47 -0
- package/dist/types/src/nanotdf/models/Payload.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Policy/AbstractPolicy.d.ts +52 -0
- package/dist/types/src/nanotdf/models/Policy/AbstractPolicy.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Policy/EmbeddedPolicy.d.ts +35 -0
- package/dist/types/src/nanotdf/models/Policy/EmbeddedPolicy.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Policy/PolicyFactory.d.ts +11 -0
- package/dist/types/src/nanotdf/models/Policy/PolicyFactory.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Policy/RemotePolicy.d.ts +31 -0
- package/dist/types/src/nanotdf/models/Policy/RemotePolicy.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/ResourceLocator.d.ts +65 -0
- package/dist/types/src/nanotdf/models/ResourceLocator.d.ts.map +1 -0
- package/dist/types/src/nanotdf/models/Signature.d.ts +33 -0
- package/dist/types/src/nanotdf/models/Signature.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/ciphers.d.ts +8 -0
- package/dist/types/src/nanotdf-crypto/ciphers.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/decrypt.d.ts +14 -0
- package/dist/types/src/nanotdf-crypto/decrypt.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/digest.d.ts +3 -0
- package/dist/types/src/nanotdf-crypto/digest.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/ecdsaSignature.d.ts +35 -0
- package/dist/types/src/nanotdf-crypto/ecdsaSignature.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/encrypt.d.ts +14 -0
- package/dist/types/src/nanotdf-crypto/encrypt.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/enums.d.ts +42 -0
- package/dist/types/src/nanotdf-crypto/enums.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/exportCryptoKey.d.ts +7 -0
- package/dist/types/src/nanotdf-crypto/exportCryptoKey.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/generateKeyPair.d.ts +10 -0
- package/dist/types/src/nanotdf-crypto/generateKeyPair.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/generateRandomNumber.d.ts +5 -0
- package/dist/types/src/nanotdf-crypto/generateRandomNumber.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/importRawKey.d.ts +13 -0
- package/dist/types/src/nanotdf-crypto/importRawKey.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/index.d.ts +12 -0
- package/dist/types/src/nanotdf-crypto/index.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/keyAgreement.d.ts +28 -0
- package/dist/types/src/nanotdf-crypto/keyAgreement.d.ts.map +1 -0
- package/dist/types/src/nanotdf-crypto/pemPublicToCrypto.d.ts +28 -0
- package/dist/types/src/nanotdf-crypto/pemPublicToCrypto.d.ts.map +1 -0
- package/dist/types/src/policy/api.d.ts +4 -0
- package/dist/types/src/policy/api.d.ts.map +1 -0
- package/dist/types/src/policy/attributes.d.ts +95 -0
- package/dist/types/src/policy/attributes.d.ts.map +1 -0
- package/dist/types/src/policy/granter.d.ts +23 -0
- package/dist/types/src/policy/granter.d.ts.map +1 -0
- package/dist/types/src/tdf/AttributeObject.d.ts +13 -0
- package/dist/types/src/tdf/AttributeObject.d.ts.map +1 -0
- package/dist/types/src/tdf/AttributeObjectJwt.d.ts +4 -0
- package/dist/types/src/tdf/AttributeObjectJwt.d.ts.map +1 -0
- package/dist/types/src/tdf/Crypto.d.ts +37 -0
- package/dist/types/src/tdf/Crypto.d.ts.map +1 -0
- package/dist/types/src/tdf/EntityObject.d.ts +18 -0
- package/dist/types/src/tdf/EntityObject.d.ts.map +1 -0
- package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts +99 -0
- package/dist/types/src/tdf/NanoTDF/NanoTDF.d.ts.map +1 -0
- package/dist/types/src/tdf/Policy.d.ts +28 -0
- package/dist/types/src/tdf/Policy.d.ts.map +1 -0
- package/dist/types/src/tdf/PolicyObject.d.ts +11 -0
- package/dist/types/src/tdf/PolicyObject.d.ts.map +1 -0
- package/dist/types/src/tdf/TypedArray.d.ts +3 -0
- package/dist/types/src/tdf/TypedArray.d.ts.map +1 -0
- package/dist/types/src/tdf/index.d.ts +7 -0
- package/dist/types/src/tdf/index.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +45 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/utils.d.ts +45 -0
- package/dist/types/src/utils.d.ts.map +1 -0
- package/dist/types/src/version.d.ts +9 -0
- package/dist/types/src/version.d.ts.map +1 -0
- package/dist/types/tdf3/index.d.ts +16 -0
- package/dist/types/tdf3/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/assertions.d.ts +63 -0
- package/dist/types/tdf3/src/assertions.d.ts.map +1 -0
- package/dist/types/tdf3/src/binary.d.ts +38 -0
- package/dist/types/tdf3/src/binary.d.ts.map +1 -0
- package/dist/types/tdf3/src/ciphers/aes-gcm-cipher.d.ts +18 -0
- package/dist/types/tdf3/src/ciphers/aes-gcm-cipher.d.ts.map +1 -0
- package/dist/types/tdf3/src/ciphers/algorithms.d.ts +4 -0
- package/dist/types/tdf3/src/ciphers/algorithms.d.ts.map +1 -0
- package/dist/types/tdf3/src/ciphers/index.d.ts +3 -0
- package/dist/types/tdf3/src/ciphers/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/ciphers/symmetric-cipher-base.d.ts +14 -0
- package/dist/types/tdf3/src/ciphers/symmetric-cipher-base.d.ts.map +1 -0
- package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts +53 -0
- package/dist/types/tdf3/src/client/DecoratedReadableStream.d.ts.map +1 -0
- package/dist/types/tdf3/src/client/builders.d.ts +436 -0
- package/dist/types/tdf3/src/client/builders.d.ts.map +1 -0
- package/dist/types/tdf3/src/client/index.d.ts +139 -0
- package/dist/types/tdf3/src/client/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/client/validation.d.ts +8 -0
- package/dist/types/tdf3/src/client/validation.d.ts.map +1 -0
- package/dist/types/tdf3/src/crypto/crypto-utils.d.ts +34 -0
- package/dist/types/tdf3/src/crypto/crypto-utils.d.ts.map +1 -0
- package/dist/types/tdf3/src/crypto/declarations.d.ts +60 -0
- package/dist/types/tdf3/src/crypto/declarations.d.ts.map +1 -0
- package/dist/types/tdf3/src/crypto/index.d.ts +103 -0
- package/dist/types/tdf3/src/crypto/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/index.d.ts +5 -0
- package/dist/types/tdf3/src/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/attribute-set.d.ts +65 -0
- package/dist/types/tdf3/src/models/attribute-set.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/encryption-information.d.ts +49 -0
- package/dist/types/tdf3/src/models/encryption-information.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/index.d.ts +9 -0
- package/dist/types/tdf3/src/models/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/key-access.d.ts +42 -0
- package/dist/types/tdf3/src/models/key-access.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/manifest.d.ts +9 -0
- package/dist/types/tdf3/src/models/manifest.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/payload.d.ts +7 -0
- package/dist/types/tdf3/src/models/payload.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/policy.d.ts +13 -0
- package/dist/types/tdf3/src/models/policy.d.ts.map +1 -0
- package/dist/types/tdf3/src/models/upsert-response.d.ts +16 -0
- package/dist/types/tdf3/src/models/upsert-response.d.ts.map +1 -0
- package/dist/types/tdf3/src/tdf.d.ts +152 -0
- package/dist/types/tdf3/src/tdf.d.ts.map +1 -0
- package/dist/types/tdf3/src/templates/default.html.d.ts +8 -0
- package/dist/types/tdf3/src/templates/default.html.d.ts.map +1 -0
- package/dist/types/tdf3/src/templates/escaper.d.ts +6 -0
- package/dist/types/tdf3/src/templates/escaper.d.ts.map +1 -0
- package/dist/types/tdf3/src/templates/index.d.ts +3 -0
- package/dist/types/tdf3/src/templates/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/utils/buffer-crc32.d.ts +2 -0
- package/dist/types/tdf3/src/utils/buffer-crc32.d.ts.map +1 -0
- package/dist/types/tdf3/src/utils/chunkers.d.ts +29 -0
- package/dist/types/tdf3/src/utils/chunkers.d.ts.map +1 -0
- package/dist/types/tdf3/src/utils/index.d.ts +36 -0
- package/dist/types/tdf3/src/utils/index.d.ts.map +1 -0
- package/dist/types/tdf3/src/utils/keysplit.d.ts +19 -0
- package/dist/types/tdf3/src/utils/keysplit.d.ts.map +1 -0
- package/dist/types/tdf3/src/utils/zip-reader.d.ts +63 -0
- package/dist/types/tdf3/src/utils/zip-reader.d.ts.map +1 -0
- package/dist/types/tdf3/src/utils/zip-writer.d.ts +35 -0
- package/dist/types/tdf3/src/utils/zip-writer.d.ts.map +1 -0
- package/dist/types/tdf3/src/version.d.ts +3 -0
- package/dist/types/tdf3/src/version.d.ts.map +1 -0
- package/dist/web/package.json +3 -0
- package/dist/web/src/access.js +147 -0
- package/dist/web/src/auth/Eas.js +55 -0
- package/dist/web/src/auth/auth.js +71 -0
- package/dist/web/src/auth/oidc-clientcredentials-provider.js +22 -0
- package/dist/web/src/auth/oidc-externaljwt-provider.js +29 -0
- package/dist/web/src/auth/oidc-refreshtoken-provider.js +30 -0
- package/dist/web/src/auth/oidc.js +215 -0
- package/dist/web/src/auth/providers.js +119 -0
- package/dist/web/src/encodings/base64.js +147 -0
- package/dist/web/src/encodings/hex.js +63 -0
- package/dist/web/src/encodings/index.js +3 -0
- package/dist/web/src/errors.js +123 -0
- package/dist/web/src/index.js +313 -0
- package/dist/web/src/nanotdf/Client.js +268 -0
- package/dist/web/src/nanotdf/NanoTDF.js +89 -0
- package/dist/web/src/nanotdf/browser-entry.js +14 -0
- package/dist/web/src/nanotdf/constants.js +2 -0
- package/dist/web/src/nanotdf/decrypt.js +14 -0
- package/dist/web/src/nanotdf/encrypt-dataset.js +32 -0
- package/dist/web/src/nanotdf/encrypt.js +126 -0
- package/dist/web/src/nanotdf/enum/CipherEnum.js +11 -0
- package/dist/web/src/nanotdf/enum/CurveNameEnum.js +13 -0
- package/dist/web/src/nanotdf/enum/EncodingEnum.js +6 -0
- package/dist/web/src/nanotdf/enum/PolicyTypeEnum.js +9 -0
- package/dist/web/src/nanotdf/enum/ProtocolEnum.js +8 -0
- package/dist/web/src/nanotdf/enum/ResourceLocatorIdentifierEnum.js +9 -0
- package/dist/web/src/nanotdf/helpers/calculateByCurve.js +24 -0
- package/dist/web/src/nanotdf/helpers/getHkdfSalt.js +8 -0
- package/dist/web/src/nanotdf/index.js +11 -0
- package/dist/web/src/nanotdf/interfaces/PolicyInterface.js +2 -0
- package/dist/web/src/nanotdf/models/Ciphers.js +54 -0
- package/dist/web/src/nanotdf/models/DefaultParams.js +22 -0
- package/dist/web/src/nanotdf/models/EcCurves.js +32 -0
- package/dist/web/src/nanotdf/models/Header.js +250 -0
- package/dist/web/src/nanotdf/models/Payload.js +156 -0
- package/dist/web/src/nanotdf/models/Policy/AbstractPolicy.js +71 -0
- package/dist/web/src/nanotdf/models/Policy/EmbeddedPolicy.js +77 -0
- package/dist/web/src/nanotdf/models/Policy/PolicyFactory.js +33 -0
- package/dist/web/src/nanotdf/models/Policy/RemotePolicy.js +57 -0
- package/dist/web/src/nanotdf/models/ResourceLocator.js +206 -0
- package/dist/web/src/nanotdf/models/Signature.js +74 -0
- package/dist/web/src/nanotdf-crypto/ciphers.js +14 -0
- package/dist/web/src/nanotdf-crypto/decrypt.js +21 -0
- package/dist/web/src/nanotdf-crypto/digest.js +4 -0
- package/dist/web/src/nanotdf-crypto/ecdsaSignature.js +77 -0
- package/dist/web/src/nanotdf-crypto/encrypt.js +21 -0
- package/dist/web/src/nanotdf-crypto/enums.js +49 -0
- package/dist/web/src/nanotdf-crypto/exportCryptoKey.js +17 -0
- package/dist/web/src/nanotdf-crypto/generateKeyPair.js +10 -0
- package/dist/web/src/nanotdf-crypto/generateRandomNumber.js +9 -0
- package/dist/web/src/nanotdf-crypto/importRawKey.js +15 -0
- package/dist/web/src/nanotdf-crypto/index.js +12 -0
- package/dist/web/src/nanotdf-crypto/keyAgreement.js +87 -0
- package/dist/web/src/nanotdf-crypto/pemPublicToCrypto.js +197 -0
- package/dist/web/src/policy/api.js +54 -0
- package/dist/web/src/policy/attributes.js +2 -0
- package/dist/web/src/policy/granter.js +141 -0
- package/dist/web/src/tdf/AttributeObject.js +11 -0
- package/dist/web/src/tdf/AttributeObjectJwt.js +2 -0
- package/dist/web/src/tdf/Crypto.js +44 -0
- package/dist/web/src/tdf/EntityObject.js +2 -0
- package/dist/web/src/tdf/NanoTDF/NanoTDF.js +35 -0
- package/dist/web/src/tdf/Policy.js +48 -0
- package/dist/web/src/tdf/PolicyObject.js +2 -0
- package/dist/web/src/tdf/TypedArray.js +2 -0
- package/dist/web/src/tdf/index.js +4 -0
- package/dist/web/src/types/index.js +2 -0
- package/dist/web/src/utils.js +133 -0
- package/dist/web/src/version.js +9 -0
- package/dist/web/tdf3/index.js +13 -0
- package/dist/web/tdf3/src/assertions.js +111 -0
- package/dist/web/tdf3/src/binary.js +149 -0
- package/dist/web/tdf3/src/ciphers/aes-gcm-cipher.js +52 -0
- package/dist/web/tdf3/src/ciphers/algorithms.js +5 -0
- package/dist/web/tdf3/src/ciphers/index.js +3 -0
- package/dist/web/tdf3/src/ciphers/symmetric-cipher-base.js +18 -0
- package/dist/web/tdf3/src/client/DecoratedReadableStream.js +107 -0
- package/dist/web/tdf3/src/client/builders.js +557 -0
- package/dist/web/tdf3/src/client/index.js +423 -0
- package/dist/web/tdf3/src/client/validation.js +58 -0
- package/dist/web/tdf3/src/crypto/crypto-utils.js +107 -0
- package/dist/web/tdf3/src/crypto/declarations.js +5 -0
- package/dist/web/tdf3/src/crypto/index.js +296 -0
- package/dist/web/tdf3/src/index.js +5 -0
- package/dist/web/tdf3/src/models/attribute-set.js +118 -0
- package/dist/web/tdf3/src/models/encryption-information.js +86 -0
- package/dist/web/tdf3/src/models/index.js +9 -0
- package/dist/web/tdf3/src/models/key-access.js +74 -0
- package/dist/web/tdf3/src/models/manifest.js +2 -0
- package/dist/web/tdf3/src/models/payload.js +2 -0
- package/dist/web/tdf3/src/models/policy.js +20 -0
- package/dist/web/tdf3/src/models/upsert-response.js +2 -0
- package/dist/web/tdf3/src/tdf.js +866 -0
- package/dist/web/tdf3/src/templates/default.html.js +96 -0
- package/dist/web/tdf3/src/templates/escaper.js +10 -0
- package/dist/web/tdf3/src/templates/index.js +3 -0
- package/dist/web/tdf3/src/utils/buffer-crc32.js +44 -0
- package/dist/web/tdf3/src/utils/chunkers.js +96 -0
- package/dist/web/tdf3/src/utils/index.js +248 -0
- package/dist/web/tdf3/src/utils/keysplit.js +55 -0
- package/dist/web/tdf3/src/utils/zip-reader.js +247 -0
- package/dist/web/tdf3/src/utils/zip-writer.js +302 -0
- package/dist/web/tdf3/src/version.js +3 -0
- package/package.json +126 -0
- package/src/access.ts +198 -0
- package/src/auth/Eas.ts +79 -0
- package/src/auth/auth.ts +141 -0
- package/src/auth/oidc-clientcredentials-provider.ts +32 -0
- package/src/auth/oidc-externaljwt-provider.ts +41 -0
- package/src/auth/oidc-refreshtoken-provider.ts +41 -0
- package/src/auth/oidc.ts +307 -0
- package/src/auth/providers.ts +139 -0
- package/src/encodings/base64.ts +160 -0
- package/src/encodings/hex.ts +69 -0
- package/src/encodings/index.ts +2 -0
- package/src/errors.ts +113 -0
- package/src/index.ts +441 -0
- package/src/nanotdf/Client.ts +349 -0
- package/src/nanotdf/NanoTDF.ts +121 -0
- package/src/nanotdf/browser-entry.ts +20 -0
- package/src/nanotdf/constants.ts +1 -0
- package/src/nanotdf/decrypt.ts +19 -0
- package/src/nanotdf/encrypt-dataset.ts +52 -0
- package/src/nanotdf/encrypt.ts +197 -0
- package/src/nanotdf/enum/CipherEnum.ts +10 -0
- package/src/nanotdf/enum/CurveNameEnum.ts +12 -0
- package/src/nanotdf/enum/EncodingEnum.ts +5 -0
- package/src/nanotdf/enum/PolicyTypeEnum.ts +8 -0
- package/src/nanotdf/enum/ProtocolEnum.ts +7 -0
- package/src/nanotdf/enum/ResourceLocatorIdentifierEnum.ts +8 -0
- package/src/nanotdf/helpers/calculateByCurve.ts +26 -0
- package/src/nanotdf/helpers/getHkdfSalt.ts +15 -0
- package/src/nanotdf/index.ts +10 -0
- package/src/nanotdf/interfaces/PolicyInterface.ts +27 -0
- package/src/nanotdf/models/Ciphers.ts +67 -0
- package/src/nanotdf/models/DefaultParams.ts +24 -0
- package/src/nanotdf/models/EcCurves.ts +40 -0
- package/src/nanotdf/models/Header.ts +322 -0
- package/src/nanotdf/models/Payload.ts +196 -0
- package/src/nanotdf/models/Policy/AbstractPolicy.ts +90 -0
- package/src/nanotdf/models/Policy/EmbeddedPolicy.ts +101 -0
- package/src/nanotdf/models/Policy/PolicyFactory.ts +48 -0
- package/src/nanotdf/models/Policy/RemotePolicy.ts +74 -0
- package/src/nanotdf/models/ResourceLocator.ts +212 -0
- package/src/nanotdf/models/Signature.ts +85 -0
- package/src/nanotdf-crypto/ciphers.ts +13 -0
- package/src/nanotdf-crypto/decrypt.ts +30 -0
- package/src/nanotdf-crypto/digest.ts +8 -0
- package/src/nanotdf-crypto/ecdsaSignature.ts +109 -0
- package/src/nanotdf-crypto/encrypt.ts +30 -0
- package/src/nanotdf-crypto/enums.ts +47 -0
- package/src/nanotdf-crypto/exportCryptoKey.ts +17 -0
- package/src/nanotdf-crypto/generateKeyPair.ts +19 -0
- package/src/nanotdf-crypto/generateRandomNumber.ts +8 -0
- package/src/nanotdf-crypto/importRawKey.ts +19 -0
- package/src/nanotdf-crypto/index.ts +11 -0
- package/src/nanotdf-crypto/keyAgreement.ts +139 -0
- package/src/nanotdf-crypto/pemPublicToCrypto.ts +232 -0
- package/src/package-lock.json +6 -0
- package/src/package.json +3 -0
- package/src/platform/authorization/authorization_connect.d.ts +44 -0
- package/src/platform/authorization/authorization_connect.js +44 -0
- package/src/platform/authorization/authorization_pb.d.ts +707 -0
- package/src/platform/authorization/authorization_pb.js +372 -0
- package/src/platform/common/common_pb.d.ts +129 -0
- package/src/platform/common/common_pb.js +58 -0
- package/src/platform/entityresolution/entity_resolution_connect.d.ts +35 -0
- package/src/platform/entityresolution/entity_resolution_connect.js +35 -0
- package/src/platform/entityresolution/entity_resolution_pb.d.ts +242 -0
- package/src/platform/entityresolution/entity_resolution_pb.js +139 -0
- package/src/platform/kas/kas_connect.d.ts +59 -0
- package/src/platform/kas/kas_connect.js +59 -0
- package/src/platform/kas/kas_pb.d.ts +200 -0
- package/src/platform/kas/kas_pb.js +84 -0
- package/src/platform/policy/attributes/attributes_connect.d.ts +168 -0
- package/src/platform/policy/attributes/attributes_connect.js +168 -0
- package/src/platform/policy/attributes/attributes_pb.d.ts +929 -0
- package/src/platform/policy/attributes/attributes_pb.js +363 -0
- package/src/platform/policy/kasregistry/key_access_server_registry_connect.d.ts +62 -0
- package/src/platform/policy/kasregistry/key_access_server_registry_connect.js +62 -0
- package/src/platform/policy/kasregistry/key_access_server_registry_pb.d.ts +283 -0
- package/src/platform/policy/kasregistry/key_access_server_registry_pb.js +113 -0
- package/src/platform/policy/namespaces/namespaces_connect.d.ts +62 -0
- package/src/platform/policy/namespaces/namespaces_connect.js +62 -0
- package/src/platform/policy/namespaces/namespaces_pb.d.ts +270 -0
- package/src/platform/policy/namespaces/namespaces_pb.js +110 -0
- package/src/platform/policy/objects_pb.d.ts +725 -0
- package/src/platform/policy/objects_pb.js +288 -0
- package/src/platform/policy/resourcemapping/resource_mapping_connect.d.ts +259 -0
- package/src/platform/policy/resourcemapping/resource_mapping_connect.js +259 -0
- package/src/platform/policy/resourcemapping/resource_mapping_pb.d.ts +314 -0
- package/src/platform/policy/resourcemapping/resource_mapping_pb.js +142 -0
- package/src/platform/policy/selectors_pb.d.ts +269 -0
- package/src/platform/policy/selectors_pb.js +110 -0
- package/src/platform/policy/subjectmapping/subject_mapping_connect.d.ts +118 -0
- package/src/platform/policy/subjectmapping/subject_mapping_connect.js +118 -0
- package/src/platform/policy/subjectmapping/subject_mapping_pb.d.ts +672 -0
- package/src/platform/policy/subjectmapping/subject_mapping_pb.js +260 -0
- package/src/platform/wellknownconfiguration/wellknown_configuration_connect.d.ts +26 -0
- package/src/platform/wellknownconfiguration/wellknown_configuration_connect.js +26 -0
- package/src/platform/wellknownconfiguration/wellknown_configuration_pb.d.ts +75 -0
- package/src/platform/wellknownconfiguration/wellknown_configuration_pb.js +35 -0
- package/src/policy/api.ts +61 -0
- package/src/policy/attributes.ts +117 -0
- package/src/policy/granter.ts +181 -0
- package/src/tdf/AttributeObject.ts +27 -0
- package/src/tdf/AttributeObjectJwt.ts +3 -0
- package/src/tdf/Crypto.ts +42 -0
- package/src/tdf/EntityObject.ts +18 -0
- package/src/tdf/NanoTDF/NanoTDF.ts +120 -0
- package/src/tdf/Policy.ts +51 -0
- package/src/tdf/PolicyObject.ts +12 -0
- package/src/tdf/TypedArray.ts +12 -0
- package/src/tdf/index.ts +6 -0
- package/src/types/index.ts +55 -0
- package/src/utils.ts +149 -0
- package/src/version.ts +9 -0
- package/tdf3/index.ts +91 -0
- package/tdf3/package-lock.json +6 -0
- package/tdf3/package.json +3 -0
- package/tdf3/src/assertions.ts +191 -0
- package/tdf3/src/binary.ts +195 -0
- package/tdf3/src/ciphers/aes-gcm-cipher.ts +76 -0
- package/tdf3/src/ciphers/algorithms.ts +9 -0
- package/tdf3/src/ciphers/index.ts +2 -0
- package/tdf3/src/ciphers/symmetric-cipher-base.ts +38 -0
- package/tdf3/src/client/DecoratedReadableStream.ts +148 -0
- package/tdf3/src/client/builders.ts +701 -0
- package/tdf3/src/client/index.ts +637 -0
- package/tdf3/src/client/validation.ts +79 -0
- package/tdf3/src/crypto/crypto-utils.ts +119 -0
- package/tdf3/src/crypto/declarations.ts +89 -0
- package/tdf3/src/crypto/index.ts +394 -0
- package/tdf3/src/index.ts +4 -0
- package/tdf3/src/models/attribute-set.ts +142 -0
- package/tdf3/src/models/encryption-information.ts +172 -0
- package/tdf3/src/models/index.ts +8 -0
- package/tdf3/src/models/key-access.ts +128 -0
- package/tdf3/src/models/manifest.ts +9 -0
- package/tdf3/src/models/payload.ts +6 -0
- package/tdf3/src/models/policy.ts +35 -0
- package/tdf3/src/models/upsert-response.ts +17 -0
- package/tdf3/src/tdf.ts +1351 -0
- package/tdf3/src/templates/default.html.ts +105 -0
- package/tdf3/src/templates/escaper.ts +10 -0
- package/tdf3/src/templates/index.ts +2 -0
- package/tdf3/src/utils/buffer-crc32.ts +46 -0
- package/tdf3/src/utils/chunkers.ts +118 -0
- package/tdf3/src/utils/index.ts +309 -0
- package/tdf3/src/utils/keysplit.ts +63 -0
- package/tdf3/src/utils/zip-reader.ts +341 -0
- package/tdf3/src/utils/zip-writer.ts +375 -0
- package/tdf3/src/version.ts +2 -0
- package/tdf3/types.d.ts +14 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.Crypto = exports.Policy = exports.createAttribute = void 0;
|
|
30
|
+
var AttributeObject_js_1 = require("./AttributeObject.js");
|
|
31
|
+
Object.defineProperty(exports, "createAttribute", { enumerable: true, get: function () { return AttributeObject_js_1.createAttribute; } });
|
|
32
|
+
var Policy_js_1 = require("./Policy.js");
|
|
33
|
+
Object.defineProperty(exports, "Policy", { enumerable: true, get: function () { return __importDefault(Policy_js_1).default; } });
|
|
34
|
+
exports.Crypto = __importStar(require("./Crypto.js"));
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGRmL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkRBQTZFO0FBQTlDLHFIQUFBLGVBQWUsT0FBQTtBQUk5Qyx5Q0FBZ0Q7QUFBdkMsb0hBQUEsT0FBTyxPQUFVO0FBQzFCLHNEQUFzQyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractPemFromKeyString = exports.pemToCryptoPublicKey = exports.cryptoPublicToPem = exports.addNewLines = exports.estimateSkewFromHeaders = exports.estimateSkew = exports.rstrip = exports.isFirefox = exports.isBrowser = exports.padSlashToUrl = exports.validateSecureUrl = void 0;
|
|
4
|
+
const jose_1 = require("jose");
|
|
5
|
+
const index_js_1 = require("./encodings/index.js");
|
|
6
|
+
const index_js_2 = require("./nanotdf-crypto/index.js");
|
|
7
|
+
const errors_js_1 = require("./errors.js");
|
|
8
|
+
/**
|
|
9
|
+
* Check to see if the given URL is 'secure'. This assumes:
|
|
10
|
+
*
|
|
11
|
+
* - `https` URLs are always secure
|
|
12
|
+
* - `http` URLS are allowed for localhost
|
|
13
|
+
* - And also for '`svc.cluster.local` and `.internal` URLs
|
|
14
|
+
*
|
|
15
|
+
* Note that this does not resolve the URL, so it is possible this could
|
|
16
|
+
* resolve to some other internal URL, and may return `false` on non-fully
|
|
17
|
+
* qualified internal URLs.
|
|
18
|
+
*
|
|
19
|
+
* @param url remote service to validate
|
|
20
|
+
* @returns the url is local or `https`
|
|
21
|
+
*/
|
|
22
|
+
function validateSecureUrl(url) {
|
|
23
|
+
const httpsRegex = /^https:/;
|
|
24
|
+
if (/^http:\/\/(localhost|127\.0\.0\.1)(:[0-9]{1,5})?($|\/)/.test(url)) {
|
|
25
|
+
console.warn(`Development URL detected: [${url}]`);
|
|
26
|
+
}
|
|
27
|
+
else if (/^http:\/\/([a-zA-Z.-]*[.])?svc\.cluster\.local($|\/)/.test(url) ||
|
|
28
|
+
/^http:\/\/([a-zA-Z.-]*[.])?internal(:[0-9]{1,5})?($|\/)/.test(url)) {
|
|
29
|
+
console.info(`Internal URL detected: [${url}]`);
|
|
30
|
+
}
|
|
31
|
+
else if (!httpsRegex.test(url)) {
|
|
32
|
+
console.error(`Insecure KAS URL loaded. Are you running in a secure environment? [${url}]`);
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
exports.validateSecureUrl = validateSecureUrl;
|
|
38
|
+
function padSlashToUrl(u) {
|
|
39
|
+
if (u.endsWith('/')) {
|
|
40
|
+
return u;
|
|
41
|
+
}
|
|
42
|
+
return `${u}/`;
|
|
43
|
+
}
|
|
44
|
+
exports.padSlashToUrl = padSlashToUrl;
|
|
45
|
+
function isBrowser() {
|
|
46
|
+
return typeof window !== 'undefined'; // eslint-disable-line
|
|
47
|
+
}
|
|
48
|
+
exports.isBrowser = isBrowser;
|
|
49
|
+
const isFirefox = () => isBrowser() && 'InstallTrigger' in window;
|
|
50
|
+
exports.isFirefox = isFirefox;
|
|
51
|
+
const rstrip = (str, suffix = ' ') => {
|
|
52
|
+
while (str && suffix && str.endsWith(suffix)) {
|
|
53
|
+
str = str.slice(0, -suffix.length);
|
|
54
|
+
}
|
|
55
|
+
return str;
|
|
56
|
+
};
|
|
57
|
+
exports.rstrip = rstrip;
|
|
58
|
+
/**
|
|
59
|
+
* Rough estimate of number of seconds to add to the current system clock time
|
|
60
|
+
* to get the clock time on the given server, or origin if not specified
|
|
61
|
+
* @param server a server to compute skew with
|
|
62
|
+
* @returns the number of seconds to add to the current local system clock time
|
|
63
|
+
* to get an rough guess of the time on the given server
|
|
64
|
+
*/
|
|
65
|
+
const estimateSkew = async (serverEndpoint = window.origin) => {
|
|
66
|
+
const localUnixTimeBefore = Date.now();
|
|
67
|
+
const response = await fetch(serverEndpoint);
|
|
68
|
+
return (0, exports.estimateSkewFromHeaders)(response.headers, localUnixTimeBefore);
|
|
69
|
+
};
|
|
70
|
+
exports.estimateSkew = estimateSkew;
|
|
71
|
+
/**
|
|
72
|
+
* Rough estimate of number of seconds to add to the curren time to get
|
|
73
|
+
* the clock time on the server that responded with the headers object.
|
|
74
|
+
* @param headers A set of headers, which must include the `date` header
|
|
75
|
+
* @param dateNowBefore time before initiating the request, usually by calling
|
|
76
|
+
* `Date.now()`. Note this is in milliseconds since the epoch, while the
|
|
77
|
+
* estimate is given in seconds.
|
|
78
|
+
* @returns the number of seconds to add to the current local system clock time
|
|
79
|
+
* to get an rough guess of the time on the server that was used
|
|
80
|
+
*/
|
|
81
|
+
const estimateSkewFromHeaders = (headers, dateNowBefore) => {
|
|
82
|
+
const localUnixTimeBefore = (dateNowBefore || Date.now()) / 1000;
|
|
83
|
+
let serverDateString;
|
|
84
|
+
if (headers.get) {
|
|
85
|
+
serverDateString = headers.get('Date');
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
serverDateString = headers.date;
|
|
89
|
+
}
|
|
90
|
+
if (serverDateString === null) {
|
|
91
|
+
throw Error('Cannot get access to Date header!');
|
|
92
|
+
}
|
|
93
|
+
const serverUnixTime = Date.parse(serverDateString) / 1000;
|
|
94
|
+
const localUnixTimeAfter = Date.now() / 1000;
|
|
95
|
+
const deltaBefore = serverUnixTime - localUnixTimeBefore;
|
|
96
|
+
const deltaAfter = serverUnixTime - localUnixTimeAfter;
|
|
97
|
+
return Math.round((deltaBefore + deltaAfter) / 2);
|
|
98
|
+
};
|
|
99
|
+
exports.estimateSkewFromHeaders = estimateSkewFromHeaders;
|
|
100
|
+
function addNewLines(str) {
|
|
101
|
+
if (!str) {
|
|
102
|
+
return str;
|
|
103
|
+
}
|
|
104
|
+
let inputString = str;
|
|
105
|
+
let finalString = '';
|
|
106
|
+
while (inputString.length > 0) {
|
|
107
|
+
finalString += inputString.substring(0, 64) + '\r\n';
|
|
108
|
+
inputString = inputString.substring(64);
|
|
109
|
+
}
|
|
110
|
+
return finalString;
|
|
111
|
+
}
|
|
112
|
+
exports.addNewLines = addNewLines;
|
|
113
|
+
async function cryptoPublicToPem(publicKey) {
|
|
114
|
+
if (publicKey.type !== 'public') {
|
|
115
|
+
throw new errors_js_1.ConfigurationError('incorrect key type');
|
|
116
|
+
}
|
|
117
|
+
const exportedPublicKey = await crypto.subtle.exportKey('spki', publicKey);
|
|
118
|
+
const b64 = index_js_1.base64.encodeArrayBuffer(exportedPublicKey);
|
|
119
|
+
const pem = addNewLines(b64);
|
|
120
|
+
return `-----BEGIN PUBLIC KEY-----\r\n${pem}-----END PUBLIC KEY-----`;
|
|
121
|
+
}
|
|
122
|
+
exports.cryptoPublicToPem = cryptoPublicToPem;
|
|
123
|
+
async function pemToCryptoPublicKey(pem) {
|
|
124
|
+
if (/-----BEGIN PUBLIC KEY-----/.test(pem)) {
|
|
125
|
+
return (0, index_js_2.pemPublicToCrypto)(pem);
|
|
126
|
+
}
|
|
127
|
+
else if (/-----BEGIN CERTIFICATE-----/.test(pem)) {
|
|
128
|
+
return (0, index_js_2.pemCertToCrypto)(pem);
|
|
129
|
+
}
|
|
130
|
+
// This can happen in several circumstances:
|
|
131
|
+
// - When parsing a PEM key from a KAS server
|
|
132
|
+
// - When converting between PEM and CryptoKey formats for user provided session keys (e.g. for DPoP)
|
|
133
|
+
throw new TypeError(`unsupported pem type [${pem}]`);
|
|
134
|
+
}
|
|
135
|
+
exports.pemToCryptoPublicKey = pemToCryptoPublicKey;
|
|
136
|
+
async function extractPemFromKeyString(keyString) {
|
|
137
|
+
let pem = keyString;
|
|
138
|
+
// Skip the public key extraction if we find that the KAS url provides a
|
|
139
|
+
// PEM-encoded key instead of certificate
|
|
140
|
+
if (keyString.includes('CERTIFICATE')) {
|
|
141
|
+
const cert = await (0, jose_1.importX509)(keyString, 'RS256', { extractable: true });
|
|
142
|
+
pem = await (0, jose_1.exportSPKI)(cert);
|
|
143
|
+
}
|
|
144
|
+
return pem;
|
|
145
|
+
}
|
|
146
|
+
exports.extractPemFromKeyString = extractPemFromKeyString;
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQThDO0FBRTlDLG1EQUE4QztBQUM5Qyx3REFBK0U7QUFDL0UsMkNBQWlEO0FBRWpEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxHQUFXO0lBQzNDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM3QixJQUFJLHdEQUF3RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0RSxPQUFPLENBQUMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQ3BEO1NBQU0sSUFDTCxzREFBc0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2hFLHlEQUF5RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDbkU7UUFDQSxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQ2pEO1NBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxzRUFBc0UsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM1RixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZEQsOENBY0M7QUFFRCxTQUFnQixhQUFhLENBQUMsQ0FBUztJQUNyQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbkIsT0FBTyxDQUFDLENBQUM7S0FDVjtJQUNELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQztBQUNqQixDQUFDO0FBTEQsc0NBS0M7QUFFRCxTQUFnQixTQUFTO0lBQ3ZCLE9BQU8sT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsc0JBQXNCO0FBQzlELENBQUM7QUFGRCw4QkFFQztB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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clientType = exports.version = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Exposes the released version number of the `@opentdf/sdk` package
|
|
6
|
+
*/
|
|
7
|
+
exports.version = '0.1.0';
|
|
8
|
+
/**
|
|
9
|
+
* A string name used to label requests as coming from this library client.
|
|
10
|
+
*/
|
|
11
|
+
exports.clientType = 'web-sdk';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBRS9COztHQUVHO0FBQ1UsUUFBQSxVQUFVLEdBQUcsU0FBUyxDQUFDIn0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.WebCryptoService = exports.version = exports.withHeaders = exports.createSessionKeys = exports.clientType = exports.TDF3Client = exports.SplitKey = exports.NanoTDFDatasetClient = exports.NanoTDFClient = exports.HttpRequest = exports.Errors = exports.EncryptParamsBuilder = exports.DecryptParamsBuilder = exports.DecoratedReadableStream = exports.Client = exports.Binary = exports.AuthProviders = exports.AppIdAuthProvider = exports.Algorithms = exports.AesGcmCipher = void 0;
|
|
27
|
+
const binary_js_1 = require("./src/binary.js");
|
|
28
|
+
Object.defineProperty(exports, "Binary", { enumerable: true, get: function () { return binary_js_1.Binary; } });
|
|
29
|
+
const DecoratedReadableStream_js_1 = require("./src/client/DecoratedReadableStream.js");
|
|
30
|
+
Object.defineProperty(exports, "DecoratedReadableStream", { enumerable: true, get: function () { return DecoratedReadableStream_js_1.DecoratedReadableStream; } });
|
|
31
|
+
const builders_js_1 = require("./src/client/builders.js");
|
|
32
|
+
Object.defineProperty(exports, "DecryptParamsBuilder", { enumerable: true, get: function () { return builders_js_1.DecryptParamsBuilder; } });
|
|
33
|
+
Object.defineProperty(exports, "EncryptParamsBuilder", { enumerable: true, get: function () { return builders_js_1.EncryptParamsBuilder; } });
|
|
34
|
+
const index_js_1 = require("./src/client/index.js");
|
|
35
|
+
Object.defineProperty(exports, "createSessionKeys", { enumerable: true, get: function () { return index_js_1.createSessionKeys; } });
|
|
36
|
+
const index_js_2 = require("./src/index.js");
|
|
37
|
+
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return index_js_2.Client; } });
|
|
38
|
+
Object.defineProperty(exports, "Errors", { enumerable: true, get: function () { return index_js_2.Errors; } });
|
|
39
|
+
Object.defineProperty(exports, "TDF3Client", { enumerable: true, get: function () { return index_js_2.TDF3Client; } });
|
|
40
|
+
const encryption_information_js_1 = require("./src/models/encryption-information.js");
|
|
41
|
+
Object.defineProperty(exports, "SplitKey", { enumerable: true, get: function () { return encryption_information_js_1.SplitKey; } });
|
|
42
|
+
const auth_js_1 = require("../src/auth/auth.js");
|
|
43
|
+
Object.defineProperty(exports, "AppIdAuthProvider", { enumerable: true, get: function () { return auth_js_1.AppIdAuthProvider; } });
|
|
44
|
+
Object.defineProperty(exports, "HttpRequest", { enumerable: true, get: function () { return auth_js_1.HttpRequest; } });
|
|
45
|
+
Object.defineProperty(exports, "withHeaders", { enumerable: true, get: function () { return auth_js_1.withHeaders; } });
|
|
46
|
+
const aes_gcm_cipher_js_1 = require("./src/ciphers/aes-gcm-cipher.js");
|
|
47
|
+
Object.defineProperty(exports, "AesGcmCipher", { enumerable: true, get: function () { return aes_gcm_cipher_js_1.AesGcmCipher; } });
|
|
48
|
+
const index_js_3 = require("../src/index.js");
|
|
49
|
+
Object.defineProperty(exports, "NanoTDFClient", { enumerable: true, get: function () { return index_js_3.NanoTDFClient; } });
|
|
50
|
+
Object.defineProperty(exports, "NanoTDFDatasetClient", { enumerable: true, get: function () { return index_js_3.NanoTDFDatasetClient; } });
|
|
51
|
+
Object.defineProperty(exports, "AuthProviders", { enumerable: true, get: function () { return index_js_3.AuthProviders; } });
|
|
52
|
+
Object.defineProperty(exports, "version", { enumerable: true, get: function () { return index_js_3.version; } });
|
|
53
|
+
Object.defineProperty(exports, "clientType", { enumerable: true, get: function () { return index_js_3.clientType; } });
|
|
54
|
+
const algorithms_js_1 = require("./src/ciphers/algorithms.js");
|
|
55
|
+
Object.defineProperty(exports, "Algorithms", { enumerable: true, get: function () { return algorithms_js_1.Algorithms; } });
|
|
56
|
+
exports.WebCryptoService = __importStar(require("./src/crypto/index.js"));
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZGYzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQXlDO0FBbUV2Qyx1RkFuRU8sa0JBQU0sT0FtRVA7QUFsRVIsd0ZBQWtGO0FBcUVoRix3R0FyRU8sb0RBQXVCLE9BcUVQO0FBcEV6QiwwREFXa0M7QUEyRGhDLHFHQXBFQSxrQ0FBb0IsT0FvRUE7QUFJcEIscUdBakVBLGtDQUFvQixPQWlFQTtBQTlEdEIsb0RBQTZFO0FBdUUzRSxrR0F2RTBCLDRCQUFpQixPQXVFMUI7QUFoRW5CLDZDQUE0RDtBQStDMUQsdUZBL0NPLGlCQUFNLE9BK0NQO0FBU04sdUZBeERlLGlCQUFNLE9Bd0RmO0FBTU4sMkZBOUR1QixxQkFBVSxPQThEdkI7QUE3RFosc0ZBSWdEO0FBd0Q5Qyx5RkExREEsb0NBQVEsT0EwREE7QUF2RFYsaURBTTZCO0FBZ0MzQixrR0FwQ0EsMkJBQWlCLE9Bb0NBO0FBYWpCLDRGQS9DQSxxQkFBVyxPQStDQTtBQVFYLDRGQXREQSxxQkFBVyxPQXNEQTtBQXBEYix1RUFBK0Q7QUE2QjdELDZGQTdCTyxnQ0FBWSxPQTZCUDtBQTVCZCw4Q0FNeUI7QUF1Q3ZCLDhGQTVDQSx3QkFBYSxPQTRDQTtBQUNiLHFHQTVDQSwrQkFBb0IsT0E0Q0E7QUFmcEIsOEZBNUJBLHdCQUFhLE9BNEJBO0FBcUJiLHdGQWhEQSxrQkFBTyxPQWdEQTtBQUhQLDJGQTVDQSxxQkFBVSxPQTRDQTtBQTFDWiwrREFBZ0c7QUFzQjlGLDJGQXRCTywwQkFBVSxPQXNCUDtBQTBCWiwwRUFBMEQifQ==
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateAssertion = exports.verify = exports.isAssertionConfig = exports.hash = void 0;
|
|
4
|
+
const json_canonicalize_1 = require("json-canonicalize");
|
|
5
|
+
const jose_1 = require("jose");
|
|
6
|
+
const index_js_1 = require("../../src/encodings/index.js");
|
|
7
|
+
const errors_js_1 = require("../../src/errors.js");
|
|
8
|
+
/**
|
|
9
|
+
* Computes the SHA-256 hash of the assertion object, excluding the 'binding' and 'hash' properties.
|
|
10
|
+
*
|
|
11
|
+
* @returns the hexadecimal string representation of the hash
|
|
12
|
+
*/
|
|
13
|
+
async function hash(a) {
|
|
14
|
+
const result = (0, json_canonicalize_1.canonicalizeEx)(a, { exclude: ['binding', 'hash', 'sign', 'verify'] });
|
|
15
|
+
const hash = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(result));
|
|
16
|
+
return index_js_1.hex.encodeArrayBuffer(hash);
|
|
17
|
+
}
|
|
18
|
+
exports.hash = hash;
|
|
19
|
+
/**
|
|
20
|
+
* Signs the given hash and signature using the provided key and sets the binding method and signature.
|
|
21
|
+
*
|
|
22
|
+
* @param hash - The hash to be signed.
|
|
23
|
+
* @param sig - The signature to be signed.
|
|
24
|
+
* @param {AssertionKey} key - The key used for signing.
|
|
25
|
+
* @returns {Promise<void>} A promise that resolves when the signing is complete.
|
|
26
|
+
*/
|
|
27
|
+
async function sign(thiz, assertionHash, sig, key) {
|
|
28
|
+
const payload = {
|
|
29
|
+
assertionHash,
|
|
30
|
+
assertionSig: sig,
|
|
31
|
+
};
|
|
32
|
+
let token;
|
|
33
|
+
try {
|
|
34
|
+
token = await new jose_1.SignJWT(payload).setProtectedHeader({ alg: key.alg }).sign(key.key);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw new errors_js_1.ConfigurationError(`Signing assertion failed: ${error.message}`, error);
|
|
38
|
+
}
|
|
39
|
+
thiz.binding.method = 'jws';
|
|
40
|
+
thiz.binding.signature = token;
|
|
41
|
+
return thiz;
|
|
42
|
+
}
|
|
43
|
+
// a function that takes an unknown or any object and asserts that it is or is not an AssertionConfig object
|
|
44
|
+
function isAssertionConfig(obj) {
|
|
45
|
+
return (!!obj &&
|
|
46
|
+
typeof obj === 'object' &&
|
|
47
|
+
'id' in obj &&
|
|
48
|
+
typeof obj.id === 'string' &&
|
|
49
|
+
'type' in obj &&
|
|
50
|
+
(obj.type === 'handling' || obj.type === 'other') &&
|
|
51
|
+
'scope' in obj &&
|
|
52
|
+
(obj.scope === 'tdo' || obj.scope === 'payload') &&
|
|
53
|
+
'appliesToState' in obj &&
|
|
54
|
+
(obj.appliesToState === 'encrypted' || obj.appliesToState === 'unencrypted') &&
|
|
55
|
+
'statement' in obj &&
|
|
56
|
+
!!obj.statement &&
|
|
57
|
+
typeof obj.statement === 'object' &&
|
|
58
|
+
'format' in obj.statement &&
|
|
59
|
+
'schema' in obj.statement &&
|
|
60
|
+
'value' in obj.statement);
|
|
61
|
+
}
|
|
62
|
+
exports.isAssertionConfig = isAssertionConfig;
|
|
63
|
+
/**
|
|
64
|
+
* Verifies the signature of the assertion using the provided key.
|
|
65
|
+
*
|
|
66
|
+
* @param {AssertionKey} key - The key used for verification.
|
|
67
|
+
* @returns {Promise<[string, string]>} A promise that resolves to a tuple containing the assertion hash and signature.
|
|
68
|
+
* @throws {Error} If the verification fails.
|
|
69
|
+
*/
|
|
70
|
+
async function verify(thiz, aggregateHash, key) {
|
|
71
|
+
let payload;
|
|
72
|
+
try {
|
|
73
|
+
const uj = await (0, jose_1.jwtVerify)(thiz.binding.signature, key.key, {
|
|
74
|
+
algorithms: [key.alg],
|
|
75
|
+
});
|
|
76
|
+
payload = uj.payload;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
throw new errors_js_1.InvalidFileError(`Verifying assertion failed: ${error.message}`, error);
|
|
80
|
+
}
|
|
81
|
+
const { assertionHash, assertionSig } = payload;
|
|
82
|
+
// Get the hash of the assertion
|
|
83
|
+
const hashOfAssertion = await hash(thiz);
|
|
84
|
+
const combinedHash = aggregateHash + hashOfAssertion;
|
|
85
|
+
const encodedHash = index_js_1.base64.encode(combinedHash);
|
|
86
|
+
// check if assertionHash is same as hashOfAssertion
|
|
87
|
+
if (hashOfAssertion !== assertionHash) {
|
|
88
|
+
throw new errors_js_1.IntegrityError('Assertion hash mismatch');
|
|
89
|
+
}
|
|
90
|
+
// check if assertionSig is same as encodedHash
|
|
91
|
+
if (assertionSig !== encodedHash) {
|
|
92
|
+
throw new errors_js_1.IntegrityError('Failed integrity check on assertion signature');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.verify = verify;
|
|
96
|
+
/**
|
|
97
|
+
* Creates an Assertion object with the specified properties.
|
|
98
|
+
*/
|
|
99
|
+
async function CreateAssertion(aggregateHash, assertionConfig) {
|
|
100
|
+
if (!assertionConfig.signingKey) {
|
|
101
|
+
throw new errors_js_1.ConfigurationError('Assertion signing key is required');
|
|
102
|
+
}
|
|
103
|
+
const a = {
|
|
104
|
+
id: assertionConfig.id,
|
|
105
|
+
type: assertionConfig.type,
|
|
106
|
+
scope: assertionConfig.scope,
|
|
107
|
+
appliesToState: assertionConfig.appliesToState,
|
|
108
|
+
statement: assertionConfig.statement,
|
|
109
|
+
// empty binding
|
|
110
|
+
binding: { method: '', signature: '' },
|
|
111
|
+
};
|
|
112
|
+
const assertionHash = await hash(a);
|
|
113
|
+
const combinedHash = aggregateHash + assertionHash;
|
|
114
|
+
const encodedHash = index_js_1.base64.encode(combinedHash);
|
|
115
|
+
return await sign(a, assertionHash, encodedHash, assertionConfig.signingKey);
|
|
116
|
+
}
|
|
117
|
+
exports.CreateAssertion = CreateAssertion;
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RkZjMvc3JjL2Fzc2VydGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBQW1EO0FBQ25ELCtCQUF3RDtBQUN4RCwyREFBMkQ7QUFDM0QsbURBQTJGO0FBb0MzRjs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLElBQUksQ0FBQyxDQUFZO0lBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUEsa0NBQWMsRUFBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFckYsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNyRixPQUFPLGNBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBTEQsb0JBS0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLElBQUksQ0FDakIsSUFBZSxFQUNmLGFBQXFCLEVBQ3JCLEdBQVcsRUFDWCxHQUFpQjtJQUVqQixNQUFNLE9BQU8sR0FBcUI7UUFDaEMsYUFBYTtRQUNiLFlBQVksRUFBRSxHQUFHO0tBQ2xCLENBQUM7SUFFRixJQUFJLEtBQWEsQ0FBQztJQUNsQixJQUFJO1FBQ0YsS0FBSyxHQUFHLE1BQU0sSUFBSSxjQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUN2RjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsTUFBTSxJQUFJLDhCQUFrQixDQUFD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
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Binary = void 0;
|
|
4
|
+
const errors_js_1 = require("../../src/errors.js");
|
|
5
|
+
const index_js_1 = require("./utils/index.js");
|
|
6
|
+
/**
|
|
7
|
+
* Provides a binary type that can be initialized with many different forms of
|
|
8
|
+
* data
|
|
9
|
+
*
|
|
10
|
+
* TODO(PLAT-1230): Deprecate this.
|
|
11
|
+
* 1. asX methods sometimes return copies, sometimes references.
|
|
12
|
+
* 2. We should be using ArrayBuffer/TypedArray for performance/correctness.
|
|
13
|
+
* 3. It is confusing how we represent data in Strings, historically leading to
|
|
14
|
+
* encoding errors.
|
|
15
|
+
*/
|
|
16
|
+
class Binary {
|
|
17
|
+
/**
|
|
18
|
+
* Initializes the binary class from the string
|
|
19
|
+
*/
|
|
20
|
+
static fromString(data) {
|
|
21
|
+
return new StringBinary(data);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Initializes the binary class from the base64
|
|
25
|
+
*/
|
|
26
|
+
static fromBase64(data) {
|
|
27
|
+
return new ArrayBufferBinary(Uint8Array.from((0, index_js_1.base64ToBytes)(data)).buffer);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Initializes the binary class from an arrayBuffer
|
|
31
|
+
*/
|
|
32
|
+
static fromArrayBuffer(data) {
|
|
33
|
+
return new ArrayBufferBinary(data);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Initializes the binary class from an array of bytes
|
|
37
|
+
*/
|
|
38
|
+
static fromByteArray(data) {
|
|
39
|
+
return new ByteArrayBinary(data);
|
|
40
|
+
}
|
|
41
|
+
isArrayBuffer() {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
isByteArray() {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
isString() {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.Binary = Binary;
|
|
52
|
+
function adjustSliceParams(length, start, end) {
|
|
53
|
+
if (start < 0) {
|
|
54
|
+
start = length + start;
|
|
55
|
+
}
|
|
56
|
+
if (end && end < 0) {
|
|
57
|
+
end = length + end;
|
|
58
|
+
}
|
|
59
|
+
return [start, end];
|
|
60
|
+
}
|
|
61
|
+
class ArrayBufferBinary extends Binary {
|
|
62
|
+
constructor(value) {
|
|
63
|
+
super();
|
|
64
|
+
this.value = value;
|
|
65
|
+
}
|
|
66
|
+
asArrayBuffer() {
|
|
67
|
+
return this.value;
|
|
68
|
+
}
|
|
69
|
+
asByteArray() {
|
|
70
|
+
const uint8Array = new Uint8Array(this.value);
|
|
71
|
+
return Array.from(uint8Array);
|
|
72
|
+
}
|
|
73
|
+
asString(encoding = 'binary') {
|
|
74
|
+
const uint8Array = new Uint8Array(this.value);
|
|
75
|
+
return (0, index_js_1.buffToString)(uint8Array, encoding);
|
|
76
|
+
}
|
|
77
|
+
isArrayBuffer() {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
length() {
|
|
81
|
+
return this.value.byteLength;
|
|
82
|
+
}
|
|
83
|
+
slice(start, end) {
|
|
84
|
+
const [s, e] = adjustSliceParams(this.value.byteLength, start, end);
|
|
85
|
+
return new ArrayBufferBinary(this.value.slice(s, e));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
class ByteArrayBinary extends Binary {
|
|
89
|
+
constructor(value) {
|
|
90
|
+
super();
|
|
91
|
+
this.value = value;
|
|
92
|
+
}
|
|
93
|
+
asArrayBuffer() {
|
|
94
|
+
const buf = new Uint8Array(this.value);
|
|
95
|
+
return buf.buffer;
|
|
96
|
+
}
|
|
97
|
+
asByteArray() {
|
|
98
|
+
return this.value;
|
|
99
|
+
}
|
|
100
|
+
asString(encoding = 'binary') {
|
|
101
|
+
const uint8Array = new Uint8Array(this.value);
|
|
102
|
+
return (0, index_js_1.buffToString)(uint8Array, encoding);
|
|
103
|
+
}
|
|
104
|
+
isByteArray() {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
length() {
|
|
108
|
+
return this.value.length;
|
|
109
|
+
}
|
|
110
|
+
slice(start, end) {
|
|
111
|
+
const [s, e] = adjustSliceParams(this.length(), start, end);
|
|
112
|
+
return new ByteArrayBinary(this.value.slice(s, e));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
class StringBinary extends Binary {
|
|
116
|
+
constructor(value) {
|
|
117
|
+
super();
|
|
118
|
+
this.value = value;
|
|
119
|
+
}
|
|
120
|
+
asArrayBuffer() {
|
|
121
|
+
const { length } = this.value;
|
|
122
|
+
const buffer = new ArrayBuffer(length);
|
|
123
|
+
const bufferView = new Uint8Array(buffer);
|
|
124
|
+
for (let i = 0; i < length; i++) {
|
|
125
|
+
bufferView[i] = this.value.charCodeAt(i);
|
|
126
|
+
}
|
|
127
|
+
return buffer;
|
|
128
|
+
}
|
|
129
|
+
asByteArray() {
|
|
130
|
+
const byteArray = [];
|
|
131
|
+
for (let i = 0; i < this.value.length; i++) {
|
|
132
|
+
byteArray.push(this.value.charCodeAt(i));
|
|
133
|
+
}
|
|
134
|
+
return byteArray;
|
|
135
|
+
}
|
|
136
|
+
asString(encoding) {
|
|
137
|
+
if (encoding) {
|
|
138
|
+
throw new errors_js_1.ConfigurationError('Method doesnt accept encoding param, it returns binary string in original format');
|
|
139
|
+
}
|
|
140
|
+
return this.value;
|
|
141
|
+
}
|
|
142
|
+
isString() {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
length() {
|
|
146
|
+
return this.value.length;
|
|
147
|
+
}
|
|
148
|
+
slice(start, end) {
|
|
149
|
+
const [s, e] = adjustSliceParams(this.value.length, start, end);
|
|
150
|
+
return new StringBinary(this.value.substring(s, e));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGRmMy9zcmMvYmluYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUF5RDtBQUN6RCwrQ0FBa0Y7QUFFbEY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBc0IsTUFBTTtJQUMxQjs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUM1QixPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUM1QixPQUFPLElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFBLHdCQUFhLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQWlCO1FBQ3RDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQWM7UUFDakMsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBV0Y7QUFsREQsd0JBa0RDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsS0FBYSxFQUFFLEdBQVk7SUFDcEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1FBQ2IsS0FBSyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUM7S0FDeEI7SUFDRCxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcs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
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AesGcmCipher = void 0;
|
|
4
|
+
const binary_js_1 = require("../binary.js");
|
|
5
|
+
const algorithms_js_1 = require("./algorithms.js");
|
|
6
|
+
const symmetric_cipher_base_js_1 = require("./symmetric-cipher-base.js");
|
|
7
|
+
const index_js_1 = require("../utils/index.js");
|
|
8
|
+
const KEY_LENGTH = 32;
|
|
9
|
+
const IV_LENGTH = 12;
|
|
10
|
+
// Should this be a Binary, Buffer, or... both?
|
|
11
|
+
function processGcmPayload(source) {
|
|
12
|
+
// Read the 12 byte IV from the beginning of the stream
|
|
13
|
+
const payloadIv = binary_js_1.Binary.fromArrayBuffer(source.slice(0, 12));
|
|
14
|
+
// Slice the final 16 bytes of the buffer for the authentication tag
|
|
15
|
+
const payloadAuthTag = binary_js_1.Binary.fromArrayBuffer(source.slice(-16));
|
|
16
|
+
return {
|
|
17
|
+
payload: binary_js_1.Binary.fromArrayBuffer(source.slice(12, -16)),
|
|
18
|
+
payloadIv,
|
|
19
|
+
payloadAuthTag,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
class AesGcmCipher extends symmetric_cipher_base_js_1.SymmetricCipher {
|
|
23
|
+
constructor(cryptoService) {
|
|
24
|
+
super(cryptoService);
|
|
25
|
+
this.name = 'AES-256-GCM';
|
|
26
|
+
this.ivLength = IV_LENGTH;
|
|
27
|
+
this.keyLength = KEY_LENGTH;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Encrypts the payload using AES w/ GCM mode. This function will take the
|
|
31
|
+
* result from the crypto service and construct the payload automatically from
|
|
32
|
+
* it's parts. There is no need to process the payload.
|
|
33
|
+
*/
|
|
34
|
+
async encrypt(payload, key, iv) {
|
|
35
|
+
const toConcat = [];
|
|
36
|
+
const result = await this.cryptoService.encrypt(payload, key, iv, algorithms_js_1.Algorithms.AES_256_GCM);
|
|
37
|
+
toConcat.push(new Uint8Array(iv.asArrayBuffer()));
|
|
38
|
+
toConcat.push(new Uint8Array(result.payload.asArrayBuffer()));
|
|
39
|
+
if (result.authTag) {
|
|
40
|
+
toConcat.push(new Uint8Array(result.authTag.asArrayBuffer()));
|
|
41
|
+
}
|
|
42
|
+
result.payload = binary_js_1.Binary.fromArrayBuffer((0, index_js_1.concatUint8)(toConcat).buffer);
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Encrypts the payload using AES w/ CBC mode
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
50
|
+
async decrypt(buffer, key, iv) {
|
|
51
|
+
const { payload, payloadIv, payloadAuthTag } = processGcmPayload(buffer);
|
|
52
|
+
return this.cryptoService.decrypt(payload, key, payloadIv, algorithms_js_1.Algorithms.AES_256_GCM, payloadAuthTag);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.AesGcmCipher = AesGcmCipher;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWVzLWdjbS1jaXBoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZGYzL3NyYy9jaXBoZXJzL2Flcy1nY20tY2lwaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUFzQztBQUN0QyxtREFBNkM7QUFDN0MseUVBQTZEO0FBQzdELGdEQUFnRDtBQVFoRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBT3JCLCtDQUErQztBQUMvQyxTQUFTLGlCQUFpQixDQUFDLE1BQW1CO0lBQzVDLHVEQUF1RDtJQUN2RCxNQUFNLFNBQVMsR0FBRyxrQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTlELG9FQUFvRTtJQUNwRSxNQUFNLGNBQWMsR0FBRyxrQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVqRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLGtCQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEQsU0FBUztRQUNULGNBQWM7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQWEsWUFBYSxTQUFRLDBDQUFlO0lBQy9DLFlBQVksYUFBNEI7UUFDdEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ00sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFlLEVBQUUsR0FBVyxFQUFFLEVBQVU7UUFDN0QsTUFBTSxRQUFRLEdBQWlCLEVBQUUsQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLDBCQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUYsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2xCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxNQUFNLENBQUMsT0FBTyxHQUFHLGtCQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsc0JBQVcsRUFBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkRBQTZEO0lBQ3BELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBbUIsRUFBRSxHQUFXLEVBQUUsRUFBVztRQUNsRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUMvQixPQUFPLEVBQ1AsR0FBRyxFQUNILFNBQVMsRUFDVCwwQkFBVSxDQUFDLFdBQVcsRUFDdEIsY0FBYyxDQUNmLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF6Q0Qsb0NBeUNDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Algorithms = void 0;
|
|
4
|
+
exports.Algorithms = {
|
|
5
|
+
AES_256_CBC: 'http://www.w3.org/2001/04/xmlenc#aes256-cbc',
|
|
6
|
+
AES_256_GCM: 'http://www.w3.org/2009/xmlenc11#aes256-gcm',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb3JpdGhtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RkZjMvc3JjL2NpcGhlcnMvYWxnb3JpdGhtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLYSxRQUFBLFVBQVUsR0FBd0M7SUFDN0QsV0FBVyxFQUFFLDZDQUE2QztJQUMxRCxXQUFXLEVBQUUsNENBQTRDO0NBQzFELENBQUMifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Algorithms = exports.AesGcmCipher = void 0;
|
|
4
|
+
var aes_gcm_cipher_js_1 = require("./aes-gcm-cipher.js");
|
|
5
|
+
Object.defineProperty(exports, "AesGcmCipher", { enumerable: true, get: function () { return aes_gcm_cipher_js_1.AesGcmCipher; } });
|
|
6
|
+
var algorithms_js_1 = require("./algorithms.js");
|
|
7
|
+
Object.defineProperty(exports, "Algorithms", { enumerable: true, get: function () { return algorithms_js_1.Algorithms; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZGYzL3NyYy9jaXBoZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUFtRDtBQUExQyxpSEFBQSxZQUFZLE9BQUE7QUFDckIsaURBQTZDO0FBQXBDLDJHQUFBLFVBQVUsT0FBQSJ9
|