@aws-crypto/encrypt-browser
Advanced tools
Comparing version 1.1.2 to 1.7.0
@@ -1,2 +0,2 @@ | ||
import { EncryptionContext, AlgorithmSuiteIdentifier, KeyringWebCrypto, WebCryptoMaterialsManager } from '@aws-crypto/material-management-browser'; | ||
import { EncryptionContext, AlgorithmSuiteIdentifier, KeyringWebCrypto, WebCryptoMaterialsManager, CommitmentPolicy } from '@aws-crypto/material-management-browser'; | ||
import { MessageHeader } from '@aws-crypto/serialize'; | ||
@@ -12,3 +12,3 @@ export interface EncryptInput { | ||
} | ||
export declare function encrypt(cmm: KeyringWebCrypto | WebCryptoMaterialsManager, plaintext: Uint8Array, { suiteId, encryptionContext, frameLength, }?: EncryptInput): Promise<EncryptResult>; | ||
export declare function _encrypt(commitmentPolicy: CommitmentPolicy, cmm: KeyringWebCrypto | WebCryptoMaterialsManager, plaintext: Uint8Array, { suiteId, encryptionContext, frameLength, }?: EncryptInput): Promise<EncryptResult>; | ||
//# sourceMappingURL=encrypt.d.ts.map |
@@ -5,2 +5,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports._encrypt = void 0; | ||
const material_management_browser_1 = require("@aws-crypto/material-management-browser"); | ||
@@ -12,3 +13,5 @@ const serialize_1 = require("@aws-crypto/serialize"); | ||
const { messageAADContentString, messageAAD } = serialize_1.aadFactory(util_utf8_browser_1.fromUtf8); | ||
async function encrypt(cmm, plaintext, { suiteId, encryptionContext = {}, frameLength = serialize_1.FRAME_LENGTH, } = {}) { | ||
async function _encrypt(commitmentPolicy, cmm, plaintext, { suiteId, encryptionContext = {}, frameLength = serialize_1.FRAME_LENGTH, } = {}) { | ||
/* Precondition: _encrypt needs a valid commitmentPolicy. */ | ||
material_management_browser_1.needs(material_management_browser_1.CommitmentPolicy[commitmentPolicy], 'Invalid commitment policy.'); | ||
/* Precondition: The frameLength must be less than the maximum frame size for browser encryption. */ | ||
@@ -26,5 +29,5 @@ material_management_browser_1.needs(frameLength > 0 && serialize_1.Maximum.FRAME_SIZE >= frameLength, `frameLength out of bounds: 0 > frameLength >= ${serialize_1.Maximum.FRAME_SIZE}`); | ||
const plaintextLength = plaintext.byteLength; | ||
const suite = suiteId | ||
? new material_management_browser_1.WebCryptoAlgorithmSuite(suiteId) | ||
: new material_management_browser_1.WebCryptoAlgorithmSuite(material_management_browser_1.AlgorithmSuiteIdentifier.ALG_AES256_GCM_IV12_TAG16_HKDF_SHA384_ECDSA_P384); | ||
const suite = suiteId && new material_management_browser_1.WebCryptoAlgorithmSuite(suiteId); | ||
/* Precondition: Only request WebCryptoEncryptionMaterial for algorithm suites supported in commitmentPolicy. */ | ||
material_management_browser_1.CommitmentPolicySuites.isEncryptEnabled(commitmentPolicy, suite); | ||
const encryptionRequest = { | ||
@@ -34,23 +37,26 @@ suite, | ||
plaintextLength, | ||
commitmentPolicy, | ||
}; | ||
const material = await cmm.getEncryptionMaterials(encryptionRequest); | ||
const { kdfGetSubtleEncrypt, subtleSign, dispose } = await material_management_browser_1.getEncryptHelper(material); | ||
const messageId = await backend.randomValues(serialize_1.MESSAGE_ID_LENGTH); | ||
const { id, ivLength } = material.suite; | ||
const messageHeader = { | ||
version: serialize_1.SerializationVersion.V1, | ||
type: serialize_1.ObjectType.CUSTOMER_AE_DATA, | ||
suiteId: id, | ||
/* Precondition: Only use WebCryptoEncryptionMaterial for algorithm suites supported in commitmentPolicy. */ | ||
material_management_browser_1.CommitmentPolicySuites.isEncryptEnabled(commitmentPolicy, material.suite); | ||
const { getEncryptInfo, subtleSign, dispose } = await material_management_browser_1.getEncryptHelper(material); | ||
const versionString = material_management_browser_1.MessageFormat[material.suite.messageFormat]; | ||
const messageIdLength = parseInt(serialize_1.MessageIdLength[versionString], 10); | ||
/* Precondition UNTESTED: WebCrypto suites must result is some messageIdLength. */ | ||
material_management_browser_1.needs(messageIdLength > 0, 'Algorithm suite has unknown message format.'); | ||
const messageId = await backend.randomValues(messageIdLength); | ||
const { ivLength } = material.suite; | ||
const { getSubtleEncrypt, keyCommitment } = await getEncryptInfo(messageId); | ||
const messageHeader = serialize.buildMessageHeader({ | ||
suite: material.suite, | ||
encryptedDataKeys: material.encryptedDataKeys, | ||
encryptionContext: material.encryptionContext, | ||
messageId, | ||
encryptionContext: material.encryptionContext, | ||
encryptedDataKeys: material.encryptedDataKeys, | ||
contentType: serialize_1.ContentType.FRAMED_DATA, | ||
headerIvLength: ivLength, | ||
frameLength, | ||
}; | ||
suiteData: keyCommitment, | ||
}); | ||
const header = serialize.serializeMessageHeader(messageHeader); | ||
const info = serialize_1.kdfInfo(id, messageId); | ||
const getSubtleEncrypt = kdfGetSubtleEncrypt(info); | ||
const headerAuthIv = serialize.headerAuthIv(ivLength); | ||
const headerAuthTag = await getSubtleEncrypt(headerAuthIv, header)(new Uint8Array(0)); | ||
const headerIv = serialize.headerAuthIv(ivLength); | ||
const headerAuthTag = new Uint8Array(await getSubtleEncrypt(headerIv, header)(new Uint8Array(0))); | ||
const numberOfFrames = Math.ceil(plaintextLength / frameLength); | ||
@@ -83,3 +89,7 @@ /* The final frame has a variable length. | ||
} | ||
const result = serialize_1.concatBuffers(header, headerAuthIv, headerAuthTag, ...bodyContent); | ||
const result = serialize_1.concatBuffers(header, serialize_1.serializeMessageHeaderAuth({ | ||
headerIv, | ||
headerAuthTag, | ||
messageHeader, | ||
}), ...bodyContent); | ||
dispose(); | ||
@@ -96,3 +106,3 @@ if (typeof subtleSign === 'function') { | ||
} | ||
exports.encrypt = encrypt; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvRUFBb0U7QUFDcEUsc0NBQXNDOztBQUV0Qyx5RkFVZ0Q7QUFDaEQscURBYzhCO0FBQzlCLGtFQUFxRDtBQUNyRCx1RUFBb0U7QUFFcEUsTUFBTSxTQUFTLEdBQUcsNEJBQWdCLENBQUMsNEJBQVEsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsR0FBRyxzQkFBVSxDQUFDLDRCQUFRLENBQUMsQ0FBQTtBQWM3RCxLQUFLLFVBQVUsT0FBTyxDQUMzQixHQUFpRCxFQUNqRCxTQUFxQixFQUNyQixFQUNFLE9BQU8sRUFDUCxpQkFBaUIsR0FBRyxFQUFFLEVBQ3RCLFdBQVcsR0FBRyx3QkFBWSxNQUNWLEVBQUU7SUFFcEIsb0dBQW9HO0lBQ3BHLG1DQUFLLENBQ0gsV0FBVyxHQUFHLENBQUMsSUFBSSxtQkFBTyxDQUFDLFVBQVUsSUFBSSxXQUFXLEVBQ3BELGlEQUFpRCxtQkFBTyxDQUFDLFVBQVUsRUFBRSxDQUN0RSxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSx3Q0FBbUIsRUFBRSxDQUFBO0lBQzNDLElBQUksQ0FBQyxPQUFPO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0lBRTVELDBGQUEwRjtJQUMxRixHQUFHO1FBQ0QsR0FBRyxZQUFZLDhDQUFnQjtZQUM3QixDQUFDLENBQUMsSUFBSSwyRUFBNkMsQ0FBQyxHQUFHLENBQUM7WUFDeEQsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUVULHVGQUF1RjtJQUN2RixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFBO0lBQzVDLE1BQU0sS0FBSyxHQUFHLE9BQU87UUFDbkIsQ0FBQyxDQUFDLElBQUkscURBQXVCLENBQUMsT0FBTyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxJ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 | ||
exports._encrypt = _encrypt; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvRUFBb0U7QUFDcEUsc0NBQXNDOzs7QUFFdEMseUZBYWdEO0FBQ2hELHFEQVc4QjtBQUM5QixrRUFBcUQ7QUFDckQsdUVBQW9FO0FBRXBFLE1BQU0sU0FBUyxHQUFHLDRCQUFnQixDQUFDLDRCQUFRLENBQUMsQ0FBQTtBQUM1QyxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLEdBQUcsc0JBQVUsQ0FBQyw0QkFBUSxDQUFDLENBQUE7QUFjN0QsS0FBSyxVQUFVLFFBQVEsQ0FDNUIsZ0JBQWtDLEVBQ2xDLEdBQWlELEVBQ2pELFNBQXFCLEVBQ3JCLEVBQ0UsT0FBTyxFQUNQLGlCQUFpQixHQUFHLEVBQUUsRUFDdEIsV0FBVyxHQUFHLHdCQUFZLE1BQ1YsRUFBRTtJQUVwQiw0REFBNEQ7SUFDNUQsbUNBQUssQ0FBQyw4Q0FBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLDRCQUE0QixDQUFDLENBQUE7SUFFdkUsb0dBQW9HO0lBQ3BHLG1DQUFLLENBQ0gsV0FBVyxHQUFHLENBQUMsSUFBSSxtQkFBTyxDQUFDLFVBQVUsSUFBSSxXQUFXLEVBQ3BELGlEQUFpRCxtQkFBTyxDQUFDLFVBQVUsRUFBRSxDQUN0RSxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSx3Q0FBbUIsRUFBRSxDQUFBO0lBQzNDLElBQUksQ0FBQyxPQUFPO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0lBRTVELDBGQUEwRjtJQUMxRixHQUFHO1FBQ0QsR0FBRyxZQUFZLDhDQUFnQjtZQUM3QixDQUFDLENBQUMsSUFBSSwyRUFBNkMsQ0FBQyxHQUFHLENBQUM7WUFDeEQsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUVULHVGQUF1RjtJQUN2RixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsVUFBVSxD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 |
@@ -1,3 +0,6 @@ | ||
export { encrypt, EncryptInput, EncryptResult } from './encrypt'; | ||
import { buildEncrypt } from './encrypt_client'; | ||
export { MessageHeader } from '@aws-crypto/serialize'; | ||
/** @deprecated Use `buildEncrypt(CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT)` for migration. */ | ||
export declare const encrypt: (args_0: import("@aws-crypto/material-management-browser").KeyringWebCrypto | import("@aws-crypto/material-management-browser").WebCryptoMaterialsManager, args_1: Uint8Array, args_2?: import("./encrypt").EncryptInput | undefined) => Promise<import("./encrypt").EncryptResult>; | ||
export { buildEncrypt }; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,4 +5,8 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var encrypt_1 = require("./encrypt"); | ||
exports.encrypt = encrypt_1.encrypt; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7O0FBRXRDLHFDQUFnRTtBQUF2RCw0QkFBQSxPQUFPLENBQUEifQ== | ||
exports.buildEncrypt = exports.encrypt = void 0; | ||
const material_management_browser_1 = require("@aws-crypto/material-management-browser"); | ||
const encrypt_client_1 = require("./encrypt_client"); | ||
Object.defineProperty(exports, "buildEncrypt", { enumerable: true, get: function () { return encrypt_client_1.buildEncrypt; } }); | ||
/** @deprecated Use `buildEncrypt(CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT)` for migration. */ | ||
exports.encrypt = encrypt_client_1.buildEncrypt(material_management_browser_1.CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT).encrypt; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUV0Qyx5RkFBMEU7QUFDMUUscURBQStDO0FBUXRDLDZGQVJBLDZCQUFZLE9BUUE7QUFMckIsbUdBQW1HO0FBQ3BGLGVBQU8sR0FBSyw2QkFBWSxDQUNyQyw4Q0FBZ0IsQ0FBQyw0QkFBNEIsQ0FDOUMsU0FBQSJ9 |
@@ -1,2 +0,2 @@ | ||
import { EncryptionContext, AlgorithmSuiteIdentifier, KeyringWebCrypto, WebCryptoMaterialsManager } from '@aws-crypto/material-management-browser'; | ||
import { EncryptionContext, AlgorithmSuiteIdentifier, KeyringWebCrypto, WebCryptoMaterialsManager, CommitmentPolicy } from '@aws-crypto/material-management-browser'; | ||
import { MessageHeader } from '@aws-crypto/serialize'; | ||
@@ -12,3 +12,3 @@ export interface EncryptInput { | ||
} | ||
export declare function encrypt(cmm: KeyringWebCrypto | WebCryptoMaterialsManager, plaintext: Uint8Array, { suiteId, encryptionContext, frameLength, }?: EncryptInput): Promise<EncryptResult>; | ||
export declare function _encrypt(commitmentPolicy: CommitmentPolicy, cmm: KeyringWebCrypto | WebCryptoMaterialsManager, plaintext: Uint8Array, { suiteId, encryptionContext, frameLength, }?: EncryptInput): Promise<EncryptResult>; | ||
//# sourceMappingURL=encrypt.d.ts.map |
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. | ||
// SPDX-License-Identifier: Apache-2.0 | ||
import { WebCryptoAlgorithmSuite, WebCryptoDefaultCryptographicMaterialsManager, AlgorithmSuiteIdentifier, getEncryptHelper, KeyringWebCrypto, needs, } from '@aws-crypto/material-management-browser'; | ||
import { serializeFactory, aadFactory, kdfInfo, concatBuffers, SerializationVersion, ObjectType, ContentType, serializeSignatureInfo, FRAME_LENGTH, MESSAGE_ID_LENGTH, raw2der, Maximum, } from '@aws-crypto/serialize'; | ||
import { WebCryptoAlgorithmSuite, WebCryptoDefaultCryptographicMaterialsManager, getEncryptHelper, KeyringWebCrypto, needs, CommitmentPolicy, CommitmentPolicySuites, MessageFormat, } from '@aws-crypto/material-management-browser'; | ||
import { serializeFactory, aadFactory, concatBuffers, serializeSignatureInfo, FRAME_LENGTH, raw2der, Maximum, MessageIdLength, serializeMessageHeaderAuth, } from '@aws-crypto/serialize'; | ||
import { fromUtf8 } from '@aws-sdk/util-utf8-browser'; | ||
@@ -9,3 +9,5 @@ import { getWebCryptoBackend } from '@aws-crypto/web-crypto-backend'; | ||
const { messageAADContentString, messageAAD } = aadFactory(fromUtf8); | ||
export async function encrypt(cmm, plaintext, { suiteId, encryptionContext = {}, frameLength = FRAME_LENGTH, } = {}) { | ||
export async function _encrypt(commitmentPolicy, cmm, plaintext, { suiteId, encryptionContext = {}, frameLength = FRAME_LENGTH, } = {}) { | ||
/* Precondition: _encrypt needs a valid commitmentPolicy. */ | ||
needs(CommitmentPolicy[commitmentPolicy], 'Invalid commitment policy.'); | ||
/* Precondition: The frameLength must be less than the maximum frame size for browser encryption. */ | ||
@@ -23,5 +25,5 @@ needs(frameLength > 0 && Maximum.FRAME_SIZE >= frameLength, `frameLength out of bounds: 0 > frameLength >= ${Maximum.FRAME_SIZE}`); | ||
const plaintextLength = plaintext.byteLength; | ||
const suite = suiteId | ||
? new WebCryptoAlgorithmSuite(suiteId) | ||
: new WebCryptoAlgorithmSuite(AlgorithmSuiteIdentifier.ALG_AES256_GCM_IV12_TAG16_HKDF_SHA384_ECDSA_P384); | ||
const suite = suiteId && new WebCryptoAlgorithmSuite(suiteId); | ||
/* Precondition: Only request WebCryptoEncryptionMaterial for algorithm suites supported in commitmentPolicy. */ | ||
CommitmentPolicySuites.isEncryptEnabled(commitmentPolicy, suite); | ||
const encryptionRequest = { | ||
@@ -31,23 +33,26 @@ suite, | ||
plaintextLength, | ||
commitmentPolicy, | ||
}; | ||
const material = await cmm.getEncryptionMaterials(encryptionRequest); | ||
const { kdfGetSubtleEncrypt, subtleSign, dispose } = await getEncryptHelper(material); | ||
const messageId = await backend.randomValues(MESSAGE_ID_LENGTH); | ||
const { id, ivLength } = material.suite; | ||
const messageHeader = { | ||
version: SerializationVersion.V1, | ||
type: ObjectType.CUSTOMER_AE_DATA, | ||
suiteId: id, | ||
/* Precondition: Only use WebCryptoEncryptionMaterial for algorithm suites supported in commitmentPolicy. */ | ||
CommitmentPolicySuites.isEncryptEnabled(commitmentPolicy, material.suite); | ||
const { getEncryptInfo, subtleSign, dispose } = await getEncryptHelper(material); | ||
const versionString = MessageFormat[material.suite.messageFormat]; | ||
const messageIdLength = parseInt(MessageIdLength[versionString], 10); | ||
/* Precondition UNTESTED: WebCrypto suites must result is some messageIdLength. */ | ||
needs(messageIdLength > 0, 'Algorithm suite has unknown message format.'); | ||
const messageId = await backend.randomValues(messageIdLength); | ||
const { ivLength } = material.suite; | ||
const { getSubtleEncrypt, keyCommitment } = await getEncryptInfo(messageId); | ||
const messageHeader = serialize.buildMessageHeader({ | ||
suite: material.suite, | ||
encryptedDataKeys: material.encryptedDataKeys, | ||
encryptionContext: material.encryptionContext, | ||
messageId, | ||
encryptionContext: material.encryptionContext, | ||
encryptedDataKeys: material.encryptedDataKeys, | ||
contentType: ContentType.FRAMED_DATA, | ||
headerIvLength: ivLength, | ||
frameLength, | ||
}; | ||
suiteData: keyCommitment, | ||
}); | ||
const header = serialize.serializeMessageHeader(messageHeader); | ||
const info = kdfInfo(id, messageId); | ||
const getSubtleEncrypt = kdfGetSubtleEncrypt(info); | ||
const headerAuthIv = serialize.headerAuthIv(ivLength); | ||
const headerAuthTag = await getSubtleEncrypt(headerAuthIv, header)(new Uint8Array(0)); | ||
const headerIv = serialize.headerAuthIv(ivLength); | ||
const headerAuthTag = new Uint8Array(await getSubtleEncrypt(headerIv, header)(new Uint8Array(0))); | ||
const numberOfFrames = Math.ceil(plaintextLength / frameLength); | ||
@@ -80,3 +85,7 @@ /* The final frame has a variable length. | ||
} | ||
const result = concatBuffers(header, headerAuthIv, headerAuthTag, ...bodyContent); | ||
const result = concatBuffers(header, serializeMessageHeaderAuth({ | ||
headerIv, | ||
headerAuthTag, | ||
messageHeader, | ||
}), ...bodyContent); | ||
dispose(); | ||
@@ -93,2 +102,2 @@ if (typeof subtleSign === 'function') { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFFdEMsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw2Q0FBNkMsRUFHN0Msd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsS0FBSyxHQUVOLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsT0FBTyxFQUNQLGFBQWEsRUFFYixvQkFBb0IsRUFDcEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsT0FBTyxHQUNSLE1BQU0sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRXBFLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7QUFjcEUsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQzNCLEdBQWlELEVBQ2pELFNBQXFCLEVBQ3JCLEVBQ0UsT0FBTyxFQUNQLGlCQUFpQixHQUFHLEVBQUUsRUFDdEIsV0FBVyxHQUFHLFlBQVksTUFDVixFQUFFO0lBRXBCLG9HQUFvRztJQUNwRyxLQUFLLENBQ0gsV0FBVyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLFdBQVcsRUFDcEQsaURBQWlELE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FDdEUsQ0FBQTtJQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sbUJBQW1CLEVBQUUsQ0FBQTtJQUMzQyxJ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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbmNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFFdEMsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw2Q0FBNkMsRUFJN0MsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixLQUFLLEVBRUwsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0QixhQUFhLEdBQ2QsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixhQUFhLEVBRWIsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixPQUFPLEVBQ1AsT0FBTyxFQUNQLGVBQWUsRUFDZiwwQkFBMEIsR0FDM0IsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFcEUsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDNUMsTUFBTSxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQWNwRSxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FDNUIsZ0JBQWtDLEVBQ2xDLEdBQWlELEVBQ2pELFNBQXFCLEVBQ3JCLEVBQ0UsT0FBTyxFQUNQLGlCQUFpQixHQUFHLEVBQUUsRUFDdEIsV0FBVyxHQUFHLFlBQVksTUFDVixFQUFFO0lBRXBCLDREQUE0RDtJQUM1RCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSw0QkFBNEIsQ0FBQyxDQUFBO0lBRXZFLG9HQUFvRztJQUNwRyxLQUFLLENBQ0gsV0FBVyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLFdBQVcsRUFDcEQsaURBQWlELE9B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 |
@@ -1,3 +0,6 @@ | ||
export { encrypt, EncryptInput, EncryptResult } from './encrypt'; | ||
import { buildEncrypt } from './encrypt_client'; | ||
export { MessageHeader } from '@aws-crypto/serialize'; | ||
/** @deprecated Use `buildEncrypt(CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT)` for migration. */ | ||
export declare const encrypt: (args_0: import("@aws-crypto/material-management-browser").KeyringWebCrypto | import("@aws-crypto/material-management-browser").WebCryptoMaterialsManager, args_1: Uint8Array, args_2?: import("./encrypt").EncryptInput | undefined) => Promise<import("./encrypt").EncryptResult>; | ||
export { buildEncrypt }; | ||
//# sourceMappingURL=index.d.ts.map |
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. | ||
// SPDX-License-Identifier: Apache-2.0 | ||
export { encrypt } from './encrypt'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUErQixNQUFNLFdBQVcsQ0FBQSJ9 | ||
import { CommitmentPolicy } from '@aws-crypto/material-management-browser'; | ||
import { buildEncrypt } from './encrypt_client'; | ||
/** @deprecated Use `buildEncrypt(CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT)` for migration. */ | ||
export const { encrypt } = buildEncrypt(CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT); | ||
export { buildEncrypt }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHL0MsbUdBQW1HO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUNyQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FDOUMsQ0FBQTtBQUVELE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQSJ9 |
@@ -6,2 +6,13 @@ # Change Log | ||
# [1.7.0](https://github.com/aws/private-aws-encryption-sdk-javascript-staging/compare/@aws-crypto/encrypt-browser@1.1.2...@aws-crypto/encrypt-browser@1.7.0) (2020-09-24) | ||
### Features | ||
* Updates to the AWS Encryption SDK. ([748be9e](https://github.com/aws/private-aws-encryption-sdk-javascript-staging/commit/748be9e1799d999a350e9cafbf902d43aeab0aa5)) | ||
## [1.1.2](https://github.com/aws/aws-encryption-sdk-javascript/compare/@aws-crypto/encrypt-browser@1.1.1...@aws-crypto/encrypt-browser@1.1.2) (2020-05-26) | ||
@@ -8,0 +19,0 @@ |
{ | ||
"name": "@aws-crypto/encrypt-browser", | ||
"version": "1.1.2", | ||
"version": "1.7.0", | ||
"scripts": { | ||
@@ -20,4 +20,4 @@ "prepublishOnly": "tsc -p tsconfig.json && tsc -p tsconfig.module.json", | ||
"dependencies": { | ||
"@aws-crypto/material-management-browser": "^1.2.1", | ||
"@aws-crypto/serialize": "^1.0.4", | ||
"@aws-crypto/material-management-browser": "^1.7.0", | ||
"@aws-crypto/serialize": "^1.7.0", | ||
"@aws-crypto/web-crypto-backend": "^1.1.2", | ||
@@ -34,3 +34,3 @@ "@aws-sdk/util-utf8-browser": "1.0.0-beta.2", | ||
], | ||
"gitHead": "4b60e0607e83d1ea2da98fd593e681f98f0d0082" | ||
"gitHead": "4469f3ec0ea8dc42ac5fec37ba0c207675d46e69" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
369211
25
291
1