@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,30 @@
|
|
|
1
|
+
import { Ciphers, CipherTagLengths } from './ciphers.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Encrypt plaintext buffer to ciphertext buffer
|
|
5
|
+
*
|
|
6
|
+
* Only supports AES-GCM
|
|
7
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/decrypt
|
|
8
|
+
*
|
|
9
|
+
* @param key Encryption key
|
|
10
|
+
* @param plaintext Bytes to encrypt
|
|
11
|
+
* @param iv Initialization vector
|
|
12
|
+
* @param tagLength Size (bits) of authentication tag
|
|
13
|
+
* @returns Resolves ciphertext buffer
|
|
14
|
+
*/
|
|
15
|
+
export default async function encrypt(
|
|
16
|
+
key: CryptoKey,
|
|
17
|
+
plaintext: Uint8Array,
|
|
18
|
+
iv: Uint8Array,
|
|
19
|
+
tagLength?: number
|
|
20
|
+
): Promise<ArrayBuffer> {
|
|
21
|
+
return crypto.subtle.encrypt(
|
|
22
|
+
{
|
|
23
|
+
name: Ciphers.AesGcm,
|
|
24
|
+
iv,
|
|
25
|
+
tagLength: tagLength || CipherTagLengths.AesGcm,
|
|
26
|
+
},
|
|
27
|
+
key,
|
|
28
|
+
plaintext
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export enum AlgorithmName {
|
|
2
|
+
ECDH = 'ECDH',
|
|
3
|
+
ECDSA = 'ECDSA',
|
|
4
|
+
ES256 = 'ES256',
|
|
5
|
+
HKDF = 'HKDF',
|
|
6
|
+
RSA_OAEP = 'RSA-OAEP',
|
|
7
|
+
RSA_PSS = 'RSA-PSS',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export enum NamedCurve {
|
|
11
|
+
P256 = 'P-256',
|
|
12
|
+
P384 = 'P-384',
|
|
13
|
+
P512 = 'P-512',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum CipherType {
|
|
17
|
+
AesGcm = 'AES-GCM',
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export enum HashType {
|
|
21
|
+
Sha1 = 'SHA-1',
|
|
22
|
+
Sha256 = 'SHA-256',
|
|
23
|
+
Sha384 = 'SHA-384',
|
|
24
|
+
Sha512 = 'SHA-512',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export enum KeyFormat {
|
|
28
|
+
Raw = 'raw',
|
|
29
|
+
Pkcs8 = 'pkcs8',
|
|
30
|
+
Spki = 'spki',
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export enum KeyType {
|
|
34
|
+
Private = 'private',
|
|
35
|
+
Public = 'public',
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export enum KeyUsageType {
|
|
39
|
+
Encrypt = 'encrypt',
|
|
40
|
+
Decrypt = 'decrypt',
|
|
41
|
+
DeriveBits = 'deriveBits',
|
|
42
|
+
DeriveKey = 'deriveKey',
|
|
43
|
+
Verify = 'verify',
|
|
44
|
+
Sign = 'sign',
|
|
45
|
+
UnwrapKey = 'unwrapKey',
|
|
46
|
+
WrapKey = 'wrapKey',
|
|
47
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Export to PEM format to binary buffer
|
|
4
|
+
* - key {CryptoKey} default: "undefined" CryptoKey generated by WebCrypto API
|
|
5
|
+
*/
|
|
6
|
+
export default async function exportCryptoKey(key: CryptoKey): Promise<ArrayBuffer> {
|
|
7
|
+
const exportedKey = await crypto.subtle.exportKey('raw', key);
|
|
8
|
+
const keyBuffer = new Uint8Array(exportedKey);
|
|
9
|
+
const len = keyBuffer.byteLength;
|
|
10
|
+
const xPoint = keyBuffer.slice(0, (1 + len) >>> 1); // drop `y`
|
|
11
|
+
xPoint[0] = 0x2 | (keyBuffer[len - 1] & 0x01); // encode sign of `y` in first bit
|
|
12
|
+
|
|
13
|
+
// Copy to Arraybuffer
|
|
14
|
+
const compressedPubKeyBuf = new ArrayBuffer(xPoint.byteLength);
|
|
15
|
+
new Uint8Array(compressedPubKeyBuf).set(new Uint8Array(xPoint));
|
|
16
|
+
return compressedPubKeyBuf;
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AlgorithmName, NamedCurve, KeyUsageType } from './enums.js';
|
|
2
|
+
|
|
3
|
+
interface GenerateKeyPairOptions {
|
|
4
|
+
type: AlgorithmName.ECDH | AlgorithmName.ECDSA;
|
|
5
|
+
curve: NamedCurve;
|
|
6
|
+
keyUsages: Array<KeyUsageType>;
|
|
7
|
+
isExtractable: boolean;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default async function generateKeyPair(
|
|
11
|
+
{ type: name, curve: namedCurve, keyUsages, isExtractable }: GenerateKeyPairOptions = {
|
|
12
|
+
type: AlgorithmName.ECDH,
|
|
13
|
+
curve: NamedCurve.P256,
|
|
14
|
+
keyUsages: [KeyUsageType.DeriveBits, KeyUsageType.DeriveKey],
|
|
15
|
+
isExtractable: true,
|
|
16
|
+
}
|
|
17
|
+
): Promise<CryptoKeyPair | never> {
|
|
18
|
+
return crypto.subtle.generateKey({ name, namedCurve }, isExtractable, keyUsages);
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CipherType, KeyFormat, KeyUsageType } from './enums.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Import raw key
|
|
5
|
+
*
|
|
6
|
+
* A specific implementation of the importKey method to import raw keys. Specifies some defaults
|
|
7
|
+
* to ensure security.
|
|
8
|
+
*
|
|
9
|
+
* @param key Key which needs to be imported
|
|
10
|
+
* @param keyUsages How the key will be used
|
|
11
|
+
* @param isExtractable Whether key is extractable
|
|
12
|
+
*/
|
|
13
|
+
export default async function importRawKey(
|
|
14
|
+
key: ArrayBuffer,
|
|
15
|
+
keyUsages: Array<KeyUsageType>,
|
|
16
|
+
isExtractable = false
|
|
17
|
+
): Promise<CryptoKey> {
|
|
18
|
+
return crypto.subtle.importKey(KeyFormat.Raw, key, CipherType.AesGcm, isExtractable, keyUsages);
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Ciphers } from './ciphers.js';
|
|
2
|
+
export { default as decrypt } from './decrypt.js';
|
|
3
|
+
export { default as digest } from './digest.js';
|
|
4
|
+
export { default as encrypt } from './encrypt.js';
|
|
5
|
+
export { default as generateKeyPair } from './generateKeyPair.js';
|
|
6
|
+
export { default as importRawKey } from './importRawKey.js';
|
|
7
|
+
export { keyAgreement } from './keyAgreement.js';
|
|
8
|
+
export { default as exportCryptoKey } from './exportCryptoKey.js';
|
|
9
|
+
export { default as generateRandomNumber } from './generateRandomNumber.js';
|
|
10
|
+
export { pemPublicToCrypto, pemCertToCrypto } from './pemPublicToCrypto.js';
|
|
11
|
+
export * as enums from './enums.js';
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2016 SafeBash
|
|
4
|
+
* Cryptography consultant: Andrew Kozlik, Ph.D.
|
|
5
|
+
*
|
|
6
|
+
* @link https://github.com/safebash/opencrypto
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* MIT License
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) 2016 SafeBash
|
|
14
|
+
*
|
|
15
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
16
|
+
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
|
|
17
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
|
18
|
+
* to whom the Software is furnished to do so, subject to the following conditions:
|
|
19
|
+
*
|
|
20
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
|
21
|
+
* Software.
|
|
22
|
+
*
|
|
23
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
|
24
|
+
* NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
25
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
26
|
+
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
27
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
import { ConfigurationError } from '../errors.js';
|
|
31
|
+
import { AlgorithmName, CipherType, HashType, KeyFormat, KeyType, KeyUsageType } from './enums.js';
|
|
32
|
+
|
|
33
|
+
const KEY_USAGE_DERIVE_KEY = 'deriveKey';
|
|
34
|
+
|
|
35
|
+
interface KeyAgreementOptions {
|
|
36
|
+
bitLength: number;
|
|
37
|
+
hkdfHash: HashAlgorithmIdentifier;
|
|
38
|
+
hkdfInfo: Uint8Array;
|
|
39
|
+
hkdfSalt: Uint8Array | ArrayBuffer;
|
|
40
|
+
keyCipher: string;
|
|
41
|
+
keyLength: number;
|
|
42
|
+
keyUsages: KeyUsage[];
|
|
43
|
+
isExtractable: boolean;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* ECDH Key Agreement
|
|
49
|
+
* - publicKey {CryptoKey} default: "undefined"
|
|
50
|
+
* - privateKey {CryptoKey} default: "undefined"
|
|
51
|
+
* - options {Object} default: { bitLength: 256, hkdfHash: 'SHA-512', hkdfSalt: "new UInt8Array()", hkdfInfo: "new UInt8Array()", keyCipher: 'AES-GCM', keyLength: 256, keyUsages: ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'], isExtractable: true }
|
|
52
|
+
*/
|
|
53
|
+
export async function keyAgreement(
|
|
54
|
+
privateKey: CryptoKey,
|
|
55
|
+
publicKey: CryptoKey,
|
|
56
|
+
options: Partial<KeyAgreementOptions> = {
|
|
57
|
+
bitLength: 256,
|
|
58
|
+
hkdfHash: HashType.Sha256,
|
|
59
|
+
hkdfInfo: new Uint8Array(),
|
|
60
|
+
hkdfSalt: new Uint8Array(),
|
|
61
|
+
keyCipher: CipherType.AesGcm,
|
|
62
|
+
keyLength: 256,
|
|
63
|
+
keyUsages: [
|
|
64
|
+
KeyUsageType.Encrypt,
|
|
65
|
+
KeyUsageType.Decrypt,
|
|
66
|
+
KeyUsageType.UnwrapKey,
|
|
67
|
+
KeyUsageType.WrapKey,
|
|
68
|
+
],
|
|
69
|
+
isExtractable: true,
|
|
70
|
+
}
|
|
71
|
+
): Promise<CryptoKey> {
|
|
72
|
+
if (
|
|
73
|
+
publicKey?.algorithm?.name !== AlgorithmName.ECDSA &&
|
|
74
|
+
publicKey?.algorithm?.name !== AlgorithmName.ECDH
|
|
75
|
+
) {
|
|
76
|
+
throw new ConfigurationError('CryptoKey is expected to be of type ECDSA or ECDH');
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (privateKey.type !== KeyType.Private) {
|
|
80
|
+
throw new ConfigurationError('Expected input of privateKey to be a CryptoKey of type private');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (publicKey.type !== KeyType.Public) {
|
|
84
|
+
throw new ConfigurationError('Expected input of publicKey to be a CryptoKey of type public');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const {
|
|
88
|
+
bitLength = 256,
|
|
89
|
+
hkdfHash = HashType.Sha256,
|
|
90
|
+
hkdfInfo = new Uint8Array(),
|
|
91
|
+
hkdfSalt = new Uint8Array(),
|
|
92
|
+
keyCipher = CipherType.AesGcm,
|
|
93
|
+
keyLength = 256,
|
|
94
|
+
isExtractable = true,
|
|
95
|
+
keyUsages = [
|
|
96
|
+
KeyUsageType.Encrypt,
|
|
97
|
+
KeyUsageType.Decrypt,
|
|
98
|
+
KeyUsageType.UnwrapKey,
|
|
99
|
+
KeyUsageType.WrapKey,
|
|
100
|
+
],
|
|
101
|
+
} = options;
|
|
102
|
+
|
|
103
|
+
const derivedBits = await crypto.subtle.deriveBits(
|
|
104
|
+
{
|
|
105
|
+
name: AlgorithmName.ECDH,
|
|
106
|
+
public: publicKey,
|
|
107
|
+
},
|
|
108
|
+
privateKey,
|
|
109
|
+
bitLength
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
const derivedKey = await crypto.subtle.importKey(
|
|
113
|
+
KeyFormat.Raw,
|
|
114
|
+
derivedBits,
|
|
115
|
+
{
|
|
116
|
+
name: AlgorithmName.HKDF,
|
|
117
|
+
},
|
|
118
|
+
false,
|
|
119
|
+
[KEY_USAGE_DERIVE_KEY]
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
const symmetricKey = await crypto.subtle.deriveKey(
|
|
123
|
+
{
|
|
124
|
+
name: AlgorithmName.HKDF,
|
|
125
|
+
hash: hkdfHash,
|
|
126
|
+
salt: hkdfSalt,
|
|
127
|
+
info: hkdfInfo,
|
|
128
|
+
},
|
|
129
|
+
derivedKey,
|
|
130
|
+
{
|
|
131
|
+
name: keyCipher,
|
|
132
|
+
length: keyLength,
|
|
133
|
+
},
|
|
134
|
+
isExtractable,
|
|
135
|
+
keyUsages
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
return symmetricKey;
|
|
139
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2016 SafeBash
|
|
4
|
+
* Cryptography consultant: Andrew Kozlik, Ph.D.
|
|
5
|
+
*
|
|
6
|
+
* @link https://github.com/safebash/opencrypto
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* MIT License
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) 2016 SafeBash
|
|
14
|
+
*
|
|
15
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
16
|
+
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights
|
|
17
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
|
18
|
+
* to whom the Software is furnished to do so, subject to the following conditions:
|
|
19
|
+
*
|
|
20
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
|
21
|
+
* Software.
|
|
22
|
+
*
|
|
23
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
|
24
|
+
* NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
25
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
26
|
+
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
27
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
import * as base64 from '../encodings/base64.js';
|
|
31
|
+
import { importX509 } from 'jose';
|
|
32
|
+
import { type KeyObject } from 'crypto';
|
|
33
|
+
import { encodeArrayBuffer as hexEncodeArrayBuffer } from '../encodings/hex.js';
|
|
34
|
+
import { ConfigurationError, TdfError } from '../errors.js';
|
|
35
|
+
|
|
36
|
+
const RSA_OID = '06092a864886f70d010101';
|
|
37
|
+
const EC_OID = '06072a8648ce3d0201';
|
|
38
|
+
const P256_OID = '06082a8648ce3d030107';
|
|
39
|
+
const P384_OID = '06052b81040022';
|
|
40
|
+
const P521_OID = '06052b81040023';
|
|
41
|
+
const SHA_512 = 'SHA-512';
|
|
42
|
+
const SPKI = 'spki';
|
|
43
|
+
const CERT_BEGIN = '-----BEGIN CERTIFICATE-----';
|
|
44
|
+
const CERT_END = '-----END CERTIFICATE-----';
|
|
45
|
+
|
|
46
|
+
const P_256 = 'P-256';
|
|
47
|
+
const P_384 = 'P-384';
|
|
48
|
+
const P_512 = 'P-512';
|
|
49
|
+
type CurveName = typeof P_256 | typeof P_384 | typeof P_512;
|
|
50
|
+
|
|
51
|
+
const ECDH = 'ECDH';
|
|
52
|
+
const ECDSA = 'ECDSA';
|
|
53
|
+
const RSA_OAEP = 'RSA-OAEP';
|
|
54
|
+
const RSA_PSS = 'RSA-PSS';
|
|
55
|
+
type AlgorithmName = typeof ECDH | typeof ECDSA | typeof RSA_OAEP | typeof RSA_PSS;
|
|
56
|
+
|
|
57
|
+
interface PemPublicToCryptoOptions {
|
|
58
|
+
name?: string;
|
|
59
|
+
hash?: string;
|
|
60
|
+
usages?: KeyUsage[];
|
|
61
|
+
isExtractable: boolean;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function guessKeyUsages(algorithmName: AlgorithmName, usages?: KeyUsage[]): KeyUsage[] {
|
|
65
|
+
if (usages) return usages;
|
|
66
|
+
switch (algorithmName) {
|
|
67
|
+
case ECDSA:
|
|
68
|
+
return ['verify'];
|
|
69
|
+
case RSA_OAEP:
|
|
70
|
+
return ['encrypt', 'wrapKey'];
|
|
71
|
+
case RSA_PSS:
|
|
72
|
+
return ['verify'];
|
|
73
|
+
case ECDH:
|
|
74
|
+
default:
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function guessAlgorithmName(hex: string, algorithmName?: string): AlgorithmName {
|
|
80
|
+
if (hex.includes(EC_OID)) {
|
|
81
|
+
if (!algorithmName || algorithmName === ECDH) {
|
|
82
|
+
return ECDH;
|
|
83
|
+
} else if (algorithmName === ECDSA) {
|
|
84
|
+
return ECDSA;
|
|
85
|
+
}
|
|
86
|
+
} else if (hex.includes(RSA_OID)) {
|
|
87
|
+
if (!algorithmName || algorithmName === RSA_OAEP) {
|
|
88
|
+
return RSA_OAEP;
|
|
89
|
+
} else if (algorithmName === RSA_PSS) {
|
|
90
|
+
return RSA_PSS;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
throw new TypeError(`Invalid public key, ${algorithmName}`);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function guessCurveName(hex: string): CurveName {
|
|
97
|
+
if (hex.includes(P256_OID)) {
|
|
98
|
+
return P_256;
|
|
99
|
+
} else if (hex.includes(P384_OID)) {
|
|
100
|
+
return P_384;
|
|
101
|
+
} else if (hex.includes(P521_OID)) {
|
|
102
|
+
return P_512;
|
|
103
|
+
}
|
|
104
|
+
throw new TdfError('Unsupported curve name or invalid key');
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
*
|
|
109
|
+
* Converts asymmetric public key from PEM to CryptoKey
|
|
110
|
+
* - publicKey {String} default: "undefined" PEM public key
|
|
111
|
+
* - options {Object} default: (depends on algorithm)
|
|
112
|
+
* -- ECDH: { name: 'ECDH', usages: [], isExtractable: true }
|
|
113
|
+
* -- ECDSA: { name: 'ECDSA', usages: ['verify'], isExtractable: true }
|
|
114
|
+
* -- RSA-OAEP: { name: 'RSA-OAEP', hash: { name: 'SHA-512' }, usages: ['encrypt', 'wrapKey'], isExtractable: true }
|
|
115
|
+
* -- RSA-PSS: { name: 'RSA-PSS', hash: { name: 'SHA-512' }, usages: ['verify'], isExtractable: true }
|
|
116
|
+
*/
|
|
117
|
+
export async function pemPublicToCrypto(
|
|
118
|
+
pem: string,
|
|
119
|
+
options: PemPublicToCryptoOptions = {
|
|
120
|
+
isExtractable: true,
|
|
121
|
+
}
|
|
122
|
+
): Promise<CryptoKey> {
|
|
123
|
+
pem = pem.replace('-----BEGIN PUBLIC KEY-----', '');
|
|
124
|
+
pem = pem.replace('-----END PUBLIC KEY-----', '');
|
|
125
|
+
const b64 = pem.replace(/\s/g, '');
|
|
126
|
+
const arrayBuffer = base64.decodeArrayBuffer(b64);
|
|
127
|
+
const hex = hexEncodeArrayBuffer(arrayBuffer);
|
|
128
|
+
|
|
129
|
+
const algorithmName = guessAlgorithmName(hex, options.name);
|
|
130
|
+
const keyUsages = guessKeyUsages(algorithmName, options.usages);
|
|
131
|
+
|
|
132
|
+
if (algorithmName === ECDH || algorithmName === ECDSA) {
|
|
133
|
+
const namedCurve = guessCurveName(hex);
|
|
134
|
+
return crypto.subtle.importKey(
|
|
135
|
+
SPKI,
|
|
136
|
+
arrayBuffer,
|
|
137
|
+
{
|
|
138
|
+
name: algorithmName,
|
|
139
|
+
namedCurve,
|
|
140
|
+
},
|
|
141
|
+
options.isExtractable,
|
|
142
|
+
keyUsages
|
|
143
|
+
);
|
|
144
|
+
} else if (algorithmName === RSA_OAEP || algorithmName === RSA_PSS) {
|
|
145
|
+
return crypto.subtle.importKey(
|
|
146
|
+
SPKI,
|
|
147
|
+
arrayBuffer,
|
|
148
|
+
{
|
|
149
|
+
name: algorithmName,
|
|
150
|
+
hash: {
|
|
151
|
+
name: options.hash || SHA_512,
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
options.isExtractable,
|
|
155
|
+
keyUsages
|
|
156
|
+
);
|
|
157
|
+
} else {
|
|
158
|
+
throw new TypeError('Invalid public key');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Look up JWK algorithm at https://github.com/panva/jose/issues/210
|
|
164
|
+
*/
|
|
165
|
+
function toJwsAlg(hex: string) {
|
|
166
|
+
const a = guessAlgorithmName(hex);
|
|
167
|
+
if (a === ECDH) {
|
|
168
|
+
return 'ECDH-ES';
|
|
169
|
+
} else if (a === ECDSA) {
|
|
170
|
+
switch (guessCurveName(hex)) {
|
|
171
|
+
case 'P-256':
|
|
172
|
+
return 'ES256';
|
|
173
|
+
case 'P-384':
|
|
174
|
+
return 'ES384';
|
|
175
|
+
case 'P-512':
|
|
176
|
+
return 'ES512';
|
|
177
|
+
}
|
|
178
|
+
} else if (a === RSA_OAEP) {
|
|
179
|
+
return 'RS512';
|
|
180
|
+
} else {
|
|
181
|
+
return 'RSA-OAEP-512';
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
function toSubtleAlg(hex: string) {
|
|
185
|
+
const name = guessAlgorithmName(hex);
|
|
186
|
+
if (name === ECDH || name === ECDSA) {
|
|
187
|
+
return {
|
|
188
|
+
name,
|
|
189
|
+
namedCurve: guessCurveName(hex),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
name,
|
|
194
|
+
hash: { name: SHA_512 },
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export async function pemCertToCrypto(
|
|
199
|
+
pem: string,
|
|
200
|
+
options: PemPublicToCryptoOptions = {
|
|
201
|
+
isExtractable: true,
|
|
202
|
+
}
|
|
203
|
+
): Promise<CryptoKey> {
|
|
204
|
+
let crt = pem.replace(CERT_BEGIN, '');
|
|
205
|
+
crt = crt.replace(CERT_END, '');
|
|
206
|
+
const b64 = crt.replace(/\s/g, '');
|
|
207
|
+
const arrayBuffer = base64.decodeArrayBuffer(b64);
|
|
208
|
+
const hex = hexEncodeArrayBuffer(arrayBuffer);
|
|
209
|
+
const jwsAlg = toJwsAlg(hex);
|
|
210
|
+
const keylike = await importX509(pem, jwsAlg, { extractable: options.isExtractable });
|
|
211
|
+
const { type } = keylike;
|
|
212
|
+
if (type !== 'public') {
|
|
213
|
+
throw new ConfigurationError('unpublic');
|
|
214
|
+
}
|
|
215
|
+
// FIXME Jose workaround for node clients.
|
|
216
|
+
// jose returns a crypto key on node, but we expect a subtle-crypto key
|
|
217
|
+
// The below should convert it, I hope, by exporting to a JWK and back.
|
|
218
|
+
if ((keylike as KeyObject)?.export) {
|
|
219
|
+
const keyObject = keylike as KeyObject;
|
|
220
|
+
const subtleAlg = toSubtleAlg(hex);
|
|
221
|
+
const keyUsages = guessKeyUsages(subtleAlg.name, options.usages);
|
|
222
|
+
const subtleKey = await crypto.subtle.importKey(
|
|
223
|
+
'jwk',
|
|
224
|
+
keyObject.export({ format: 'jwk' }),
|
|
225
|
+
subtleAlg,
|
|
226
|
+
options.isExtractable,
|
|
227
|
+
keyUsages
|
|
228
|
+
);
|
|
229
|
+
return subtleKey;
|
|
230
|
+
}
|
|
231
|
+
return keylike as CryptoKey;
|
|
232
|
+
}
|
package/src/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// @generated by protoc-gen-connect-es v1.4.0 with parameter "target=js+dts,import_extension=none"
|
|
2
|
+
// @generated from file authorization/authorization.proto (package authorization, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
|
|
6
|
+
import { GetDecisionsByTokenRequest, GetDecisionsByTokenResponse, GetDecisionsRequest, GetDecisionsResponse, GetEntitlementsRequest, GetEntitlementsResponse } from "./authorization_pb";
|
|
7
|
+
import { MethodKind } from "@bufbuild/protobuf";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @generated from service authorization.AuthorizationService
|
|
11
|
+
*/
|
|
12
|
+
export declare const AuthorizationService: {
|
|
13
|
+
readonly typeName: "authorization.AuthorizationService",
|
|
14
|
+
readonly methods: {
|
|
15
|
+
/**
|
|
16
|
+
* @generated from rpc authorization.AuthorizationService.GetDecisions
|
|
17
|
+
*/
|
|
18
|
+
readonly getDecisions: {
|
|
19
|
+
readonly name: "GetDecisions",
|
|
20
|
+
readonly I: typeof GetDecisionsRequest,
|
|
21
|
+
readonly O: typeof GetDecisionsResponse,
|
|
22
|
+
readonly kind: MethodKind.Unary,
|
|
23
|
+
},
|
|
24
|
+
/**
|
|
25
|
+
* @generated from rpc authorization.AuthorizationService.GetDecisionsByToken
|
|
26
|
+
*/
|
|
27
|
+
readonly getDecisionsByToken: {
|
|
28
|
+
readonly name: "GetDecisionsByToken",
|
|
29
|
+
readonly I: typeof GetDecisionsByTokenRequest,
|
|
30
|
+
readonly O: typeof GetDecisionsByTokenResponse,
|
|
31
|
+
readonly kind: MethodKind.Unary,
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* @generated from rpc authorization.AuthorizationService.GetEntitlements
|
|
35
|
+
*/
|
|
36
|
+
readonly getEntitlements: {
|
|
37
|
+
readonly name: "GetEntitlements",
|
|
38
|
+
readonly I: typeof GetEntitlementsRequest,
|
|
39
|
+
readonly O: typeof GetEntitlementsResponse,
|
|
40
|
+
readonly kind: MethodKind.Unary,
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// @generated by protoc-gen-connect-es v1.4.0 with parameter "target=js+dts,import_extension=none"
|
|
2
|
+
// @generated from file authorization/authorization.proto (package authorization, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
|
|
6
|
+
import { GetDecisionsByTokenRequest, GetDecisionsByTokenResponse, GetDecisionsRequest, GetDecisionsResponse, GetEntitlementsRequest, GetEntitlementsResponse } from "./authorization_pb";
|
|
7
|
+
import { MethodKind } from "@bufbuild/protobuf";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @generated from service authorization.AuthorizationService
|
|
11
|
+
*/
|
|
12
|
+
export const AuthorizationService = {
|
|
13
|
+
typeName: "authorization.AuthorizationService",
|
|
14
|
+
methods: {
|
|
15
|
+
/**
|
|
16
|
+
* @generated from rpc authorization.AuthorizationService.GetDecisions
|
|
17
|
+
*/
|
|
18
|
+
getDecisions: {
|
|
19
|
+
name: "GetDecisions",
|
|
20
|
+
I: GetDecisionsRequest,
|
|
21
|
+
O: GetDecisionsResponse,
|
|
22
|
+
kind: MethodKind.Unary,
|
|
23
|
+
},
|
|
24
|
+
/**
|
|
25
|
+
* @generated from rpc authorization.AuthorizationService.GetDecisionsByToken
|
|
26
|
+
*/
|
|
27
|
+
getDecisionsByToken: {
|
|
28
|
+
name: "GetDecisionsByToken",
|
|
29
|
+
I: GetDecisionsByTokenRequest,
|
|
30
|
+
O: GetDecisionsByTokenResponse,
|
|
31
|
+
kind: MethodKind.Unary,
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* @generated from rpc authorization.AuthorizationService.GetEntitlements
|
|
35
|
+
*/
|
|
36
|
+
getEntitlements: {
|
|
37
|
+
name: "GetEntitlements",
|
|
38
|
+
I: GetEntitlementsRequest,
|
|
39
|
+
O: GetEntitlementsResponse,
|
|
40
|
+
kind: MethodKind.Unary,
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|