Socket
Socket
Sign inDemoInstall

@aws-crypto/decrypt-node

Package Overview
Dependencies
Maintainers
3
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-crypto/decrypt-node - npm Package Compare versions

Comparing version 0.1.0-preview.1 to 0.1.0-preview.2

6

build/main/decipher_stream.d.ts
/// <reference types="node" />
import { DecipherGCM } from 'crypto';
import { GetDecipher } from '@aws-crypto/material-management-node';
import { ContentType } from '@aws-crypto/serialize';

@@ -7,3 +7,3 @@ export interface DecipherInfo {

contentType: ContentType;
getDecipher: (iv: Uint8Array) => DecipherGCM;
getDecipher: GetDecipher;
dispose: () => void;

@@ -21,3 +21,3 @@ }

_read(size: number): void;
_onAuthTag: (authTag: Buffer) => Promise<void>;
_onAuthTag: (authTag: Buffer, next: Function) => Promise<void>;
_destroy(): void;

@@ -24,0 +24,0 @@ _flush(callback: import("stream").TransformCallback): void;

@@ -48,3 +48,3 @@ "use strict";

};
this._onAuthTag = async (authTag) => {
this._onAuthTag = async (authTag, next) => {
const { decipher, content, contentLength } = decipherState;

@@ -78,2 +78,12 @@ /* Precondition: _onAuthTag must be called only after a frame has been accumulated.

}
/* This frame is complete.
* Need to notify the VerifyStream continue.
* See the note in `AuthTag` for details.
* The short answer is that for small frame sizes,
* the "next" frame associated auth tag may be
* parsed and send before the "current" is processed.
* This will cause the auth tag event to fire before
* any _transform events fire and a 'Lengths do not match' precondition to fail.
*/
next();
// This frame is complete. Notify _transform to continue, see needs above for more details

@@ -93,5 +103,5 @@ if (frameComplete)

.on('BodyInfo', this._onBodyHeader)
.on('AuthTag', async (authTag) => {
.on('AuthTag', async (authTag, next) => {
try {
await this._onAuthTag(authTag);
await this._onAuthTag(authTag, next);
}

@@ -151,2 +161,2 @@ catch (e) {

exports.getDecipherStream = getDecipherStream;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXBoZXJfc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY2lwaGVyX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRzs7QUFFSCxhQUFhO0FBQ2IscURBQWdFO0FBR2hFLG1GQUE0RDtBQUM1RCxxREFHOEI7QUFDOUIsbURBQThDO0FBRTlDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUM5RCxNQUFNLFVBQVUsR0FBRyxzQkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3ZDLE1BQU0seUJBQXlCLEdBQXVDLDJCQUFrQixDQUFBO0FBc0J4RixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0FBQ2xFLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtBQUVyQixTQUFnQixpQkFBaUI7SUFDL0IsSUFBSSxZQUEwQixDQUFBO0lBQzlCLElBQUksYUFBYSxHQUFrQixFQUFTLENBQUE7SUFDNUMsSUFBSSxpQkFBaUIsR0FBYSxJQUFJLENBQUE7SUFDdEMsSUFBSSxhQUFhLEdBQW1CLEtBQUssQ0FBQTtJQUV6QyxPQUFPLElBQUksQ0FBQyxNQUFNLGNBQWUsU0FBUSx5QkFBeUI7UUFDaEU7WUFDRSxLQUFLLEVBQUUsQ0FBQTtZQW1CVCxrQkFBYSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQVksRUFBRSxFQUFFO2dCQUNoRixxRUFBcUU7Z0JBQ3JFLGdDQUFLLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUE7Z0JBQ3ZDLG9GQUFvRjtnQkFDcEYsZ0NBQUss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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXBoZXJfc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY2lwaGVyX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRzs7QUFFSCxhQUFhO0FBQ2IscURBQWdFO0FBRWhFLG1GQUk2QztBQUM3QyxxREFHOEI7QUFDOUIsbURBQThDO0FBRTlDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUM5RCxNQUFNLFVBQVUsR0FBRyxzQkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3ZDLE1BQU0seUJBQXlCLEdBQXVDLDJCQUFrQixDQUFBO0FBc0J4RixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0FBQ2xFLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtBQUVyQixTQUFnQixpQkFBaUI7SUFDL0IsSUFBSSxZQUEwQixDQUFBO0lBQzlCLElBQUksYUFBYSxHQUFrQixFQUFTLENBQUE7SUFDNUMsSUFBSSxpQkFBaUIsR0FBYSxJQUFJLENBQUE7SUFDdEMsSUFBSSxhQUFhLEdBQW1CLEtBQUssQ0FBQTtJQUV6QyxPQUFPLElBQUksQ0FBQyxNQUFNLGNBQWUsU0FBUSx5QkFBeUI7UUFDaEU7WUFDRSxLQUFLLEVBQUUsQ0FBQTtZQW1CVCxrQkFBYSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQVksRUFBRSxFQUFFO2dCQUNoRixxRUFBcUU7Z0JBQ3JFLGdDQUFLLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUE7Z0JBQ3ZDLG9GQUFvRjtnQkFDcEYsZ0NBQUss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

@@ -35,3 +35,10 @@ "use strict";

const decipherStream = decipher_stream_1.getDecipherStream();
readable_stream_1.pipeline(parseHeaderStream, verifyStream, decipherStream);
/* pipeline will _either_ stream.destroy or the callback.
* decipherStream uses destroy to dispose the material.
* So I tack a pass though stream onto the end.
*/
readable_stream_1.pipeline(parseHeaderStream, verifyStream, decipherStream, new readable_stream_1.PassThrough(), (err) => {
if (err)
stream.emit('error', err);
});
const stream = new duplexify_1.default(parseHeaderStream, decipherStream);

@@ -44,2 +51,2 @@ // Forward header events

exports.decryptStream = decryptStream;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdF9zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjcnlwdF9zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7Ozs7O0FBRUgsbUZBSTZDO0FBQzdDLCtEQUF5RDtBQUN6RCxtREFBOEM7QUFDOUMsdURBQXFEO0FBQ3JELDBEQUFpQztBQUdqQyxhQUFhO0FBQ2IscURBQTBDO0FBTTFDLFNBQWdCLGFBQWEsQ0FDM0IsR0FBcUMsRUFDckMsRUFBRSxXQUFXLEtBQTRCLEVBQUU7SUFFM0MscUZBQXFGO0lBQ3JGLEdBQUcsR0FBRyxHQUFHLFlBQVksc0NBQVc7UUFDOUIsQ0FBQyxDQUFDLElBQUksbUVBQXdDLENBQUMsR0FBRyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxHQUFHLENBQUE7SUFFUCxNQUFNLGlCQUFpQixHQUFHLElBQUksdUNBQWlCLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNyRSxNQUFNLFlBQVksR0FBRyxJQUFJLDRCQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELE1BQU0sY0FBYyxHQUFHLG1DQUFpQixFQUFFLENBQUE7SUFFMUMsMEJBQVEsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFFekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxtQkFBUyxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRS9ELHdCQUF3QjtJQUN4QixpQkFBaUI7U0FDZCxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUV4RSxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUF0QkQsc0NBc0JDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdF9zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjcnlwdF9zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7Ozs7O0FBRUgsbUZBSTZDO0FBQzdDLCtEQUF5RDtBQUN6RCxtREFBOEM7QUFDOUMsdURBQXFEO0FBQ3JELDBEQUFpQztBQUdqQyxhQUFhO0FBQ2IscURBQXVEO0FBTXZELFNBQWdCLGFBQWEsQ0FDM0IsR0FBcUMsRUFDckMsRUFBRSxXQUFXLEtBQTRCLEVBQUU7SUFFM0MscUZBQXFGO0lBQ3JGLEdBQUcsR0FBRyxHQUFHLFlBQVksc0NBQVc7UUFDOUIsQ0FBQyxDQUFDLElBQUksbUVBQXdDLENBQUMsR0FBRyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxHQUFHLENBQUE7SUFFUCxNQUFNLGlCQUFpQixHQUFHLElBQUksdUNBQWlCLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNyRSxNQUFNLFlBQVksR0FBRyxJQUFJLDRCQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELE1BQU0sY0FBYyxHQUFHLG1DQUFpQixFQUFFLENBQUE7SUFFMUM7OztPQUdHO0lBQ0gsMEJBQVEsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLElBQUksNkJBQVcsRUFBRSxFQUFFLENBQUMsR0FBVSxFQUFFLEVBQUU7UUFDMUYsSUFBSSxHQUFHO1lBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQyxDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFTLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFFL0Qsd0JBQXdCO0lBQ3hCLGlCQUFpQjtTQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRXhFLE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQTVCRCxzQ0E0QkMifQ==

@@ -14,3 +14,3 @@ /// <reference types="node" />

}
export declare function decrypt(cmm: NodeMaterialsManager | KeyringNode, ciphertext: Buffer | Uint8Array | Readable | string, { encoding, maxBodySize }?: DecryptOptions): Promise<DecryptOutput>;
export declare function decrypt(cmm: NodeMaterialsManager | KeyringNode, ciphertext: Buffer | Uint8Array | Readable | string | NodeJS.ReadableStream, { encoding, maxBodySize }?: DecryptOptions): Promise<DecryptOutput>;
//# sourceMappingURL=decrypt.d.ts.map

@@ -54,2 +54,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHOztBQU1ILHFEQUFnRDtBQUVoRCxhQUFhO0FBQ2IscURBQTBDO0FBY25DLEtBQUssVUFBVSxPQUFPLENBQzNCLEdBQXFDLEVBQ3JDLFVBQTZDLEVBQzdDLEVBQUUsUUFBUSxFQUFFLFdBQVcsS0FBc0IsRUFBRTtJQUUvQyxNQUFNLE1BQU0sR0FBRyw4QkFBYSxDQUFDLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFFbEQsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFBO0lBQzlCLElBQUksYUFBYSxHQUF3QixLQUFLLENBQUE7SUFDOUMsTUFBTTtTQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFxQixFQUFFLEVBQUUsR0FBRyxhQUFhLEdBQUcsTUFBTSxDQUFBLENBQUMsQ0FBQyxDQUFDO1NBQzVFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUV2RCx5Q0FBeUM7SUFDekMsSUFBSSxVQUFVLFlBQVksVUFBVSxFQUFFO1FBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7S0FDdkI7U0FBTSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7S0FDOUM7U0FBTSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDOUIsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtLQUN4QjtTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO0tBQ2pEO0lBRUQsTUFBTSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0IsSUFBSSxDQUFDLGFBQWE7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFckQsT0FBTztRQUNMLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxhQUFhO0tBQ2QsQ0FBQTtBQUNILENBQUM7QUEvQkQsMEJBK0JDO0FBRUQsU0FBUyxhQUFhLENBQUUsTUFBYztJQUNwQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLDBCQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHOztBQU1ILHFEQUFnRDtBQUVoRCxhQUFhO0FBQ2IscURBQTBDO0FBY25DLEtBQUssVUFBVSxPQUFPLENBQzNCLEdBQXFDLEVBQ3JDLFVBQW1FLEVBQ25FLEVBQUUsUUFBUSxFQUFFLFdBQVcsS0FBc0IsRUFBRTtJQUUvQyxNQUFNLE1BQU0sR0FBRyw4QkFBYSxDQUFDLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFFbEQsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFBO0lBQzlCLElBQUksYUFBYSxHQUF3QixLQUFLLENBQUE7SUFDOUMsTUFBTTtTQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFxQixFQUFFLEVBQUUsR0FBRyxhQUFhLEdBQUcsTUFBTSxDQUFBLENBQUMsQ0FBQyxDQUFDO1NBQzVFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUV2RCx5Q0FBeUM7SUFDekMsSUFBSSxVQUFVLFlBQVksVUFBVSxFQUFFO1FBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7S0FDdkI7U0FBTSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7S0FDOUM7U0FBTSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDOUIsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtLQUN4QjtTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO0tBQ2pEO0lBRUQsTUFBTSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0IsSUFBSSxDQUFDLGFBQWE7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFckQsT0FBTztRQUNMLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxhQUFhO0tBQ2QsQ0FBQTtBQUNILENBQUM7QUEvQkQsMEJBK0JDO0FBRUQsU0FBUyxhQUFhLENBQUUsTUFBYztJQUNwQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLDBCQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMifQ==

@@ -82,3 +82,14 @@ "use strict";

const tail = headerBuffer.slice(readPos);
this._transform = (chunk, _enc, cb) => cb(null, chunk);
/* needs calls in downstream _transform streams will throw.
* But streams are async.
* So this error should be turned into an `.emit('error', ex)`.
*/
this._transform = (chunk, _enc, cb) => {
try {
cb(null, chunk);
}
catch (ex) {
this.emit('error', ex);
}
};
// flush the tail. Stream control is now in the verify and decrypt streams

@@ -91,2 +102,2 @@ return setImmediate(() => this._transform(tail, encoding, callback));

exports.ParseHeaderStream = ParseHeaderStream;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfaGVhZGVyX3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZV9oZWFkZXJfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHOztBQUVILGFBQWE7QUFDYixxREFBZ0U7QUFFaEUsbUZBSzZDO0FBQzdDLHFEQUFnRjtBQUdoRixNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLE1BQU07S0FDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDO0tBQ3RELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNuQixNQUFNLFdBQVcsR0FBRyw4QkFBa0IsQ0FBQyxNQUFNLEVBQUUsNkNBQWtCLENBQUMsQ0FBQTtBQUNsRSxNQUFNLHlCQUF5QixHQUF1QywyQkFBa0IsQ0FBQTtBQVV4RixNQUFhLGlCQUFrQixTQUFRLHlCQUF5QjtJQUk5RCxZQUFhLEdBQXlCLEVBQUUsRUFBRSxXQUFXLEtBQXlCLEVBQUU7UUFDOUUsMkRBQTJEO1FBQzNELGdDQUFLLENBQUMsQ0FBQyxXQUFXLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLDBCQUEwQixDQUFDLENBQUE7UUFDbEYsS0FBSyxFQUFFLENBQUE7UUFDUCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDakYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNyRixJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxD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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfaGVhZGVyX3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZV9oZWFkZXJfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHOztBQUVILGFBQWE7QUFDYixxREFBZ0U7QUFFaEUsbUZBSzZDO0FBQzdDLHFEQUFnRjtBQUdoRixNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLE1BQU07S0FDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDO0tBQ3RELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNuQixNQUFNLFdBQVcsR0FBRyw4QkFBa0IsQ0FBQyxNQUFNLEVBQUUsNkNBQWtCLENBQUMsQ0FBQTtBQUNsRSxNQUFNLHlCQUF5QixHQUF1QywyQkFBa0IsQ0FBQTtBQVV4RixNQUFhLGlCQUFrQixTQUFRLHlCQUF5QjtJQUk5RCxZQUFhLEdBQXlCLEVBQUUsRUFBRSxXQUFXLEtBQXlCLEVBQUU7UUFDOUUsMkRBQTJEO1FBQzNELGdDQUFLLENBQUMsQ0FBQyxXQUFXLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLDBCQUEwQixDQUFDLENBQUE7UUFDbEYsS0FBSyxFQUFFLENBQUE7UUFDUCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDakYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNyRixJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxD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
/// <reference types="node" />
import { Transform } from 'stream';
import { DecipherGCM } from 'crypto';
import { GetVerify } from '@aws-crypto/material-management-node';
import { GetVerify, // eslint-disable-line no-unused-vars
GetDecipher } from '@aws-crypto/material-management-node';
import { // eslint-disable-line no-unused-vars

@@ -11,3 +11,3 @@ HeaderInfo } from '@aws-crypto/serialize';

headerInfo: HeaderInfo;
getDecipher: (iv: Uint8Array) => DecipherGCM;
getDecipher: GetDecipher;
dispose: () => void;

@@ -14,0 +14,0 @@ verify?: AWSVerify;

@@ -29,3 +29,4 @@ "use strict";

authTagBuffer: Buffer.alloc(0),
signatureInfo: Buffer.alloc(0)
signatureInfo: Buffer.alloc(0),
sequenceNumber: 0
};

@@ -82,7 +83,14 @@ /* Precondition: MaxBodySize must be falsey or a number. */

material_management_node_1.needs(!this._maxBodySize || this._maxBodySize >= frameHeader.contentLength, 'maxBodySize exceeded.');
/* Keeping track of the sequence number myself. */
state.sequenceNumber += 1;
/* Precondition: The sequence number is required to monotonically increase, starting from 1.
* This is to avoid a bad actor from abusing the sequence number on un-signed algorithm suites.
* If the frame size matched the data format (say NDJSON),
* then the data could be significantly altered just by rearranging the frames.
* Non-framed data returns a sequenceNumber of 1.
*/
material_management_node_1.needs(frameHeader.sequenceNumber === state.sequenceNumber, 'Encrypted body sequence out of order.');
if (this._verify) {
this._verify.update(frameBuffer.slice(0, frameHeader.readPos));
}
// clear the buffer. It _could_ have cipher text...
state.buffer = Buffer.alloc(0);
const tail = chunk.slice(frameHeader.readPos);

@@ -120,19 +128,44 @@ this.emit('BodyInfo', frameHeader);

else {
state.authTagBuffer = Buffer.concat([authTagBuffer, chunk], tagLengthBytes);
const finalAuthTagBuffer = Buffer.concat([authTagBuffer, chunk], tagLengthBytes);
if (this._verify) {
this._verify.update(state.authTagBuffer);
this._verify.update(finalAuthTagBuffer);
}
this.emit('AuthTag', state.authTagBuffer);
/* Reset state.
* Ciphertext buffers and authTag buffers need to be cleared.
*/
state.buffer = Buffer.alloc(0);
state.currentFrame = undefined;
state.authTagBuffer = Buffer.alloc(0);
/* After the final frame the file format is _much_ simpler.
* Making sure the cascading if blocks fall to the signature can be tricky and brittle.
* After the final frame, just moving on to concatenate the signature is much simpler.
*/
if (currentFrame.isFinalFrame) {
/* Overwriting the _transform function.
* Data flow control is not handled here.
*/
this._transform = (chunk, _enc, callback) => {
if (chunk.length) {
state.signatureInfo = Buffer.concat([state.signatureInfo, chunk]);
}
callback();
};
}
const tail = chunk.slice(left);
if (!currentFrame.isFinalFrame) {
state.buffer = Buffer.alloc(0);
state.currentFrame = undefined;
state.authTagBuffer = Buffer.alloc(0);
}
return setImmediate(() => this._transform(tail, enc, callback));
/* The decipher_stream uses the `AuthTag` event to flush the accumulated frame.
* This is because ciphertext should never be returned until it is verified.
* i.e. the auth tag checked.
* This can create an issue if the chucks and frame size are small.
* If the verify stream continues processing and sends the next auth tag,
* before the current auth tag has been completed.
* This is basically a back pressure issue.
* Since the frame size, and consequently the high water mark,
* can not be know when the stream is created,
* the internal stream state would need to be modified.
* I assert that a simple callback is a simpler way to handle this.
*/
const next = () => this._transform(tail, enc, callback);
return this.emit('AuthTag', finalAuthTagBuffer, next);
}
}
if (chunk.length) {
state.signatureInfo = Buffer.concat([state.signatureInfo, chunk]);
}
callback();

@@ -161,2 +194,2 @@ }

exports.VerifyStream = VerifyStream;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5X3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnlfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHOztBQUVILGFBQWE7QUFDYixxREFBZ0U7QUFHaEUsbUZBRzZDO0FBQzdDLHFEQUs4QjtBQUM5QiwrREFBeUQ7QUFJekQsTUFBTSx5QkFBeUIsR0FBdUMsMkJBQWtCLENBQUE7QUFvQnhGLE1BQWEsWUFBYSxTQUFRLHlCQUF5QjtJQVN6RCxZQUFhLEVBQUUsV0FBVyxFQUF1QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQVJELGlCQUFZLEdBQWdCO1lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQy9CLENBQUE7UUFLQywyREFBMkQ7UUFDM0QsZ0NBQUssQ0FBQyxDQUFDLFdBQVcsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtRQUNsRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRXJGLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBeUIsRUFBRSxFQUFFO1lBQzVDLGlGQUFpRjtZQUNqRixnQ0FBSyxDQUFDLE1BQU0sWUFBWSx1Q0FBaUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO1lBQ2hFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBc0IsRUFBRSxFQUFFO2dCQUNuRCxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFBO2dCQUMvRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUE7Z0JBQzNEOzs7bUJBR0c7Z0JBQ0gsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEdBQUcsVUFBVSxDQUN4RDtvQkFBQSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUNyRTtnQkFDRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNuRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUUzRSxNQUFNLFlBQVksR0FBaUI7b0JBQ2pDLGFBQWE7b0JBQ2IsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUM7b0JBQ3BGLFdBQVc7b0JBQ1gsV0FBVztvQkFDWCxPQUFPO2lCQUNSLENBQUE7Z0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFDekMsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVLENBQUUsS0FBYSxFQUFFLEdBQVcsRUFBRSxRQUFrQjtRQUN4RCxnRUFBZ0U7UUFDaEUsZ0NBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGlFQUFpRSxDQUFDLENBQUE7UUFFMUYsYUFBYTtRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUE7UUFDL0IsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQTtRQUM5QixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUE7WUFDeEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1lBQ2xELE1BQU0sV0FBVyxHQUFHLDRCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3RFLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hCLGlCQUFpQjtnQkFDakIsS0FBSyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUE7Z0JBQzFCLE9BQU8sUUFBUSxFQUFFLENBQUE7YUFDbEI7WUFFRDs7O2VBR0c7WUFDSCxnQ0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsdUJBQXVCLENBQUMsQ0FBQTtZQUVwRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO2FBQy9EO1lBQ0Qsb0RBQW9EO1lBQ3BELEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNsQyxLQUFLLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQTtZQUNoQyxPQUFPLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtTQUNoRTtRQUVELFVBQVU7UUFDVixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsWUFBWSxDQUFBO1FBQ3RDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hDLFlBQVksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQTtnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDaEIsT0FBTyxRQUFRLEVBQUUsQ0FBQTthQUNsQjtpQkFBTTtnQkFDTCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQTtnQkFDN0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ2xCLFlBQVksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFBO2dCQUM5QixPQUFPLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTthQUNoRTtTQUNGO1FBRUQsVUFBVTtRQUNWLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxZQUFZLENBQUE7UUFDbEMsTUFBTSxjQUFjLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNwQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFBO1FBQy9CLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxjQUFjLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUN6RCxNQUFNLElBQUksR0FBRyxjQUFjLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQTtZQUNsRCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2QixLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtnQkFDM0QsT0FBTyxRQUFRLEVBQUUsQ0FBQTthQUNsQjtpQkFBTTtnQkFDTCxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUE7Z0JBQzNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO2lCQUN6QztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7Z0JBQ3pDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFO29CQUM5QixLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQzlCLEtBQUssQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFBO29CQUM5QixLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQ3RDO2dCQUNELE9BQU8sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO2FBQ2hFO1NBQ0Y7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsS0FBSyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1NBQ2xFO1FBRUQsUUFBUSxFQUFFLENBQUE7SUFDWixDQUFDO0lBRUQsSUFBSSxDQUFFLEtBQVUsRUFBRSxRQUE2QjtRQUM3Qyw4REFBOEQ7UUFDOUQsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUMzQjtRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBRSxRQUFrQjtRQUN4QixvR0FBb0c7UUFDcEcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxRQUFRLEVBQUUsQ0FBQTtRQUNwQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQTtRQUMzQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxnQ0FBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUM5RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDN0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDMUQsaURBQWlEO1FBQ2pELGdDQUFLLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLENBQUE7UUFDdEMsUUFBUSxFQUFFLENBQUE7SUFDWixDQUFDO0NBQ0Y7QUFqSkQsb0NBaUpDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5X3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnlfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHOztBQUVILGFBQWE7QUFDYixxREFBZ0U7QUFFaEUsbUZBSTZDO0FBQzdDLHFEQUs4QjtBQUM5QiwrREFBeUQ7QUFJekQsTUFBTSx5QkFBeUIsR0FBdUMsMkJBQWtCLENBQUE7QUFxQnhGLE1BQWEsWUFBYSxTQUFRLHlCQUF5QjtJQVV6RCxZQUFhLEVBQUUsV0FBVyxFQUF1QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQVRELGlCQUFZLEdBQWdCO1lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzlCLGNBQWMsRUFBRSxDQUFDO1NBQ2xCLENBQUE7UUFLQywyREFBMkQ7UUFDM0QsZ0NBQUssQ0FBQyxDQUFDLFdBQVcsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtRQUNsRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRXJGLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBeUIsRUFBRSxFQUFFO1lBQzVDLGlGQUFpRjtZQUNqRixnQ0FBSyxDQUFDLE1BQU0sWUFBWSx1Q0FBaUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO1lBQ2hFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBc0IsRUFBRSxFQUFFO2dCQUNuRCxNQUFNLEVBQUUsV0FBVyxFQUFF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
/// <reference types="node" />
import { DecipherGCM } from 'crypto';
import { GetDecipher } from '@aws-crypto/material-management-node';
import { ContentType } from '@aws-crypto/serialize';

@@ -7,3 +7,3 @@ export interface DecipherInfo {

contentType: ContentType;
getDecipher: (iv: Uint8Array) => DecipherGCM;
getDecipher: GetDecipher;
dispose: () => void;

@@ -21,3 +21,3 @@ }

_read(size: number): void;
_onAuthTag: (authTag: Buffer) => Promise<void>;
_onAuthTag: (authTag: Buffer, next: Function) => Promise<void>;
_destroy(): void;

@@ -24,0 +24,0 @@ _flush(callback: import("stream").TransformCallback): void;

@@ -46,3 +46,3 @@ /*

};
this._onAuthTag = async (authTag) => {
this._onAuthTag = async (authTag, next) => {
const { decipher, content, contentLength } = decipherState;

@@ -76,2 +76,12 @@ /* Precondition: _onAuthTag must be called only after a frame has been accumulated.

}
/* This frame is complete.
* Need to notify the VerifyStream continue.
* See the note in `AuthTag` for details.
* The short answer is that for small frame sizes,
* the "next" frame associated auth tag may be
* parsed and send before the "current" is processed.
* This will cause the auth tag event to fire before
* any _transform events fire and a 'Lengths do not match' precondition to fail.
*/
next();
// This frame is complete. Notify _transform to continue, see needs above for more details

@@ -91,5 +101,5 @@ if (frameComplete)

.on('BodyInfo', this._onBodyHeader)
.on('AuthTag', async (authTag) => {
.on('AuthTag', async (authTag, next) => {
try {
await this._onAuthTag(authTag);
await this._onAuthTag(authTag, next);
}

@@ -148,2 +158,2 @@ catch (e) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXBoZXJfc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY2lwaGVyX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLElBQUksaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUdoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDNUQsT0FBTyxFQUNMLFVBQVUsRUFFWCxNQUFNLHVCQUF1QixDQUFBO0FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU5QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDOUQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3ZDLE1BQU0seUJBQXlCLEdBQXVDLGlCQUFrQixDQUFBO0FBc0J4RixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0FBQ2xFLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtBQUVyQixNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLElBQUksWUFBMEIsQ0FBQTtJQUM5QixJQUFJLGFBQWEsR0FBa0IsRUFBUyxDQUFBO0lBQzVDLElBQUksaUJBQWlCLEdBQWEsSUFBSSxDQUFBO0lBQ3RDLElBQUksYUFBYSxHQUFtQixLQUFLLENBQUE7SUFFekMsT0FBTyxJQUFJLENBQUMsTUFBTSxjQUFlLFNBQVEseUJBQXlCO1FBQ2hFO1lBQ0UsS0FBSyxFQUFFLENBQUE7WUFtQlQsa0JBQWEsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFZLEVBQUUsRUFBRTtnQkFDaEYscUVBQXFFO2dCQUNyRSxLQUFLLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUE7Z0JBQ3ZDLG9GQUFvRjtnQkFDcEYsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO2dCQUVsRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxZQUFZLENBQUE7Z0JBQzVELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO2dCQUNuRixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFBO2dCQUM3RixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDO3FCQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7Z0JBQ3ZGLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQTtnQkFDNUIsYUFBYSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQTtZQUN0RCxDQUFDLENBQUE7WUEyQ0QsZUFBVSxHQUFHLEtBQUssRUFBRSxPQUFlLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsYUFBYSxDQUFBO2dCQUMxRDs7O21CQUdHO2dCQUNILEtBQUssQ0FBQyxhQUFhLElBQUksYUFBYSxLQUFLLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFBO2dCQUNwRSxvRUFBb0U7Z0JBQ3BFLEtBQUssQ0FBQyxhQUFhLEtBQUssQ0FBQyxFQUFFLHNCQUFzQixDQUFDLENBQUE7Z0JBRWxELDRCQUE0QjtnQkFDNUIsYUFBYSxHQUFHLEVBQVMsQ0FBQTtnQkFFekIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFFNUIsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFBO2dCQUMxQixLQUFLLE1BQU0sV0FBVyxJQUFJLE9BQU8sRUFBRTtvQkFDakMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDL0MsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtvQkFDdEIsTUFBTSxNQUFNLEVBQUUsQ0FBQTtpQkFDZjtnQkFFRCw4Q0FBOEM7Z0JBQzlDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtnQkFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFFaEIsS0FBSyxNQUFNLFVBQVUsSUFBSSxLQUFLLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUMxQjs7MkJBRUc7d0JBQ0gsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLGlCQUFpQixHQUFHLE9BQU8sQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO3FCQUM5RDtpQkFDRjtnQkFFRCwwRkFBMEY7Z0JBQzFGLElBQUksYUFBYTtvQkFBRSxhQUFhLEVBQUUsQ0FBQTtnQkFDbEMsd0JBQXdCO2dCQUN4QixhQUFhLEdBQUcsS0FBSyxDQUFBO1lBQ3ZCLENBQUMsQ0FBQTtZQWpIQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRTtnQkFDdkMsa0ZBQWtGO2dCQUNsRixLQUFLLENBQUMsTUFBTSxZQUFZLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO2dCQUMzRCxNQUFNO3FCQUNILElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFrQixFQUFFLEVBQUU7b0JBQzNDLFlBQVksR0FBRyxJQUFJLENBQUE7Z0JBQ3JCLENBQUMsQ0FBQztxQkFDRCxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUM7cUJBQ2xDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQWUsRUFBRSxFQUFFO29CQUN2QyxJQUFJO3dCQUNGLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtxQkFDL0I7b0JBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7cUJBQ3RCO2dCQUNILENBQUMsQ0FBQyxDQUFBO1lBQ04sQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO1FBaUJELFVBQVUsQ0FBRSxLQUFVLEVBQUUsU0FBaUIsRUFBRSxRQUFrQjtZQUMzRCxnRUFBZ0U7WUFDaEUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtZQUVqRCxhQUFhLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUE7WUFDM0M7Ozs7ZUFJRztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxJQUFJLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFBO1lBQy9ELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxhQUFhLENBQUE7WUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNuQixJQUFJLGFBQWEsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQywwQkFBMEI7Z0JBQzFCLFFBQVEsRUFBRSxDQUFBO2FBQ1g7aUJBQU07Z0JBQ0wsMkNBQTJDO2dCQUMzQywrQ0FBK0M7Z0JBQy9DLGFBQWEsR0FBRyxRQUFRLENBQUE7YUFDekI7UUFDSCxDQUFDO1FBRUQsS0FBSyxDQUFFLElBQVk7WUFDakI7Ozs7Ozs7Ozs7ZUFVRztZQUNILGlCQUFpQixFQUFFLENBQUE7WUFDbkIsaUJBQWlCLEdBQUcsSUFBSSxDQUFBO1lBRXhCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbkIsQ0FBQztRQTJDRCxRQUFRO1lBQ04sc0RBQXNEO1lBQ3RELHFEQUFxRDtZQUNyRCxnQkFBZ0I7WUFDaEIsWUFBWSxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUN4QyxDQUFDO0tBQ0YsQ0FBQyxFQUFFLENBQUE7QUFDTixDQUFDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXBoZXJfc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY2lwaGVyX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLElBQUksaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUVoRSxPQUFPLEVBQ0wsS0FBSyxFQUdOLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUNMLFVBQVUsRUFFWCxNQUFNLHVCQUF1QixDQUFBO0FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU5QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDOUQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ3ZDLE1BQU0seUJBQXlCLEdBQXVDLGlCQUFrQixDQUFBO0FBc0J4RixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0FBQ2xFLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQTtBQUVyQixNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLElBQUksWUFBMEIsQ0FBQTtJQUM5QixJQUFJLGFBQWEsR0FBa0IsRUFBUyxDQUFBO0lBQzVDLElBQUksaUJBQWlCLEdBQWEsSUFBSSxDQUFBO0lBQ3RDLElBQUksYUFBYSxHQUFtQixLQUFLLENBQUE7SUFFekMsT0FBTyxJQUFJLENBQUMsTUFBTSxjQUFlLFNBQVEseUJBQXlCO1FBQ2hFO1lBQ0UsS0FBSyxFQUFFLENBQUE7WUFtQlQsa0JBQWEsR0FBRyxDQUFDLEVBQUUsRUFB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

@@ -21,3 +21,3 @@ /*

// @ts-ignore
import { pipeline } from 'readable-stream';
import { pipeline, PassThrough } from 'readable-stream';
export function decryptStream(cmm, { maxBodySize } = {}) {

@@ -31,3 +31,10 @@ /* If the cmm is a Keyring, wrap it with NodeDefaultCryptographicMaterialsManager. */

const decipherStream = getDecipherStream();
pipeline(parseHeaderStream, verifyStream, decipherStream);
/* pipeline will _either_ stream.destroy or the callback.
* decipherStream uses destroy to dispose the material.
* So I tack a pass though stream onto the end.
*/
pipeline(parseHeaderStream, verifyStream, decipherStream, new PassThrough(), (err) => {
if (err)
stream.emit('error', err);
});
const stream = new Duplexify(parseHeaderStream, decipherStream);

@@ -39,2 +46,2 @@ // Forward header events

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdF9zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjcnlwdF9zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVILE9BQU8sRUFDTCx3Q0FBd0MsRUFDeEMsV0FBVyxFQUVaLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3JELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUdqQyxhQUFhO0FBQ2IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBTTFDLE1BQU0sVUFBVSxhQUFhLENBQzNCLEdBQXFDLEVBQ3JDLEVBQUUsV0FBVyxLQUE0QixFQUFFO0lBRTNDLHFGQUFxRjtJQUNyRixHQUFHLEdBQUcsR0FBRyxZQUFZLFdBQVc7UUFDOUIsQ0FBQyxDQUFDLElBQUksd0NBQXdDLENBQUMsR0FBRyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxHQUFHLENBQUE7SUFFUCxNQUFNLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNyRSxNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDdEQsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQTtJQUUxQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRXpELE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRS9ELHdCQUF3QjtJQUN4QixpQkFBaUI7U0FDZCxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUV4RSxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdF9zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjcnlwdF9zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVILE9BQU8sRUFDTCx3Q0FBd0MsRUFDeEMsV0FBVyxFQUVaLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3JELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUdqQyxhQUFhO0FBQ2IsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQU12RCxNQUFNLFVBQVUsYUFBYSxDQUMzQixHQUFxQyxFQUNyQyxFQUFFLFdBQVcsS0FBNEIsRUFBRTtJQUUzQyxxRkFBcUY7SUFDckYsR0FBRyxHQUFHLEdBQUcsWUFBWSxXQUFXO1FBQzlCLENBQUMsQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLEdBQUcsQ0FBQztRQUNuRCxDQUFDLENBQUMsR0FBRyxDQUFBO0lBRVAsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDckUsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELE1BQU0sY0FBYyxHQUFHLGlCQUFpQixFQUFFLENBQUE7SUFFMUM7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsSUFBSSxXQUFXLEVBQUUsRUFBRSxDQUFDLEdBQVUsRUFBRSxFQUFFO1FBQzFGLElBQUksR0FBRztZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3BDLENBQUMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFFL0Qsd0JBQXdCO0lBQ3hCLGlCQUFpQjtTQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRXhFLE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyJ9

@@ -14,3 +14,3 @@ /// <reference types="node" />

}
export declare function decrypt(cmm: NodeMaterialsManager | KeyringNode, ciphertext: Buffer | Uint8Array | Readable | string, { encoding, maxBodySize }?: DecryptOptions): Promise<DecryptOutput>;
export declare function decrypt(cmm: NodeMaterialsManager | KeyringNode, ciphertext: Buffer | Uint8Array | Readable | string | NodeJS.ReadableStream, { encoding, maxBodySize }?: DecryptOptions): Promise<DecryptOutput>;
//# sourceMappingURL=decrypt.d.ts.map

@@ -51,2 +51,2 @@ /*

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFaEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQWMxQyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FDM0IsR0FBcUMsRUFDckMsVUFBNkMsRUFDN0MsRUFBRSxRQUFRLEVBQUUsV0FBVyxLQUFzQixFQUFFO0lBRS9DLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQTtJQUM5QixJQUFJLGFBQWEsR0FBd0IsS0FBSyxDQUFBO0lBQzlDLE1BQU07U0FDSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBcUIsRUFBRSxFQUFFLEdBQUcsYUFBYSxHQUFHLE1BQU0sQ0FBQSxDQUFDLENBQUMsQ0FBQztTQUM1RSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFFdkQseUNBQXlDO0lBQ3pDLElBQUksVUFBVSxZQUFZLFVBQVUsRUFBRTtRQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0tBQ3ZCO1NBQU0sSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7UUFDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0tBQzlDO1NBQU0sSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQzlCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7S0FDeEI7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQTtLQUNqRDtJQUVELE1BQU0sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNCLElBQUksQ0FBQyxhQUFhO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRXJELE9BQU87UUFDTCxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbkMsYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUUsTUFBYztJQUNwQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ2pFLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNyeXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFNSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFaEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQWMxQyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FDM0IsR0FBcUMsRUFDckMsVUFBbUUsRUFDbkUsRUFBRSxRQUFRLEVBQUUsV0FBVyxLQUFzQixFQUFFO0lBRS9DLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBRWxELE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQTtJQUM5QixJQUFJLGFBQWEsR0FBd0IsS0FBSyxDQUFBO0lBQzlDLE1BQU07U0FDSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBcUIsRUFBRSxFQUFFLEdBQUcsYUFBYSxHQUFHLE1BQU0sQ0FBQSxDQUFDLENBQUMsQ0FBQztTQUM1RSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFFdkQseUNBQXlDO0lBQ3pDLElBQUksVUFBVSxZQUFZLFVBQVUsRUFBRTtRQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0tBQ3ZCO1NBQU0sSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7UUFDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0tBQzlDO1NBQU0sSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQzlCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7S0FDeEI7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQTtLQUNqRDtJQUVELE1BQU0sYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNCLElBQUksQ0FBQyxhQUFhO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRXJELE9BQU87UUFDTCxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbkMsYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUUsTUFBYztJQUNwQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ2pFLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyJ9

@@ -81,3 +81,14 @@ /*

const tail = headerBuffer.slice(readPos);
this._transform = (chunk, _enc, cb) => cb(null, chunk);
/* needs calls in downstream _transform streams will throw.
* But streams are async.
* So this error should be turned into an `.emit('error', ex)`.
*/
this._transform = (chunk, _enc, cb) => {
try {
cb(null, chunk);
}
catch (ex) {
this.emit('error', ex);
}
};
// flush the tail. Stream control is now in the verify and decrypt streams

@@ -89,2 +100,2 @@ return setImmediate(() => this._transform(tail, encoding, callback));

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfaGVhZGVyX3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZV9oZWFkZXJfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWhFLE9BQU8sRUFDTCxrQkFBa0IsRUFDSSxxQ0FBcUM7QUFDM0QsbUJBQW1CLEVBQ25CLEtBQUssRUFDTixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHaEYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNO0tBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQztLQUN0RCxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDbkIsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDbEUsTUFBTSx5QkFBeUIsR0FBdUMsaUJBQWtCLENBQUE7QUFVeEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQUk5RCxZQUFhLEdBQXlCLEVBQUUsRUFBRSxXQUFXLEtBQXlCLEVBQUU7UUFDOUUsMkRBQTJEO1FBQzNELEtBQUssQ0FBQyxDQUFDLFdBQVcsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtRQUNsRixLQUFLLEVBQUUsQ0FBQTtRQUNQLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMs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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfaGVhZGVyX3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZV9oZWFkZXJfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWhFLE9BQU8sRUFDTCxrQkFBa0IsRUFDSSxxQ0FBcUM7QUFDM0QsbUJBQW1CLEVBQ25CLEtBQUssRUFDTixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHaEYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNO0tBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQztLQUN0RCxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDbkIsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDbEUsTUFBTSx5QkFBeUIsR0FBdUMsaUJBQWtCLENBQUE7QUFVeEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQUk5RCxZQUFhLEdBQXlCLEVBQUUsRUFBRSxXQUFXLEtBQXlCLEVBQUU7UUFDOUUsMkRBQTJEO1FBQzNELEtBQUssQ0FBQyxDQUFDLFdBQVcsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsQ0FBQTtRQUNsRixLQUFLLEVBQUUsQ0FBQTtRQUNQLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNqRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3JGLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3hCLENBQUE7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFFLEtBQVUsRUFBRSxRQUFnQixFQUFFLFFBQWtCO1FBQzFELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQ3BDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNuRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQTtZQUN2QyxPQUFPLFFBQVEsRUFBRSxDQUFBO1NBQ2xCO1FBRUQsTUFBTSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsR0FBRyxVQUFVLENBQUE7UUFDcEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEdBQUcsVUFBVSxDQUFBO1FBRXpELE1BQU0sS0FBSyxHQUFHLElBQUksa0JBQWtCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsYUFBYSxDQUFBO1FBRXhGOzs7Ozs7V0FNRztRQUNILElBQUksV0FBVyxLQUFLLFdBQVcsQ0FBQyxXQUFXLEVBQUU7WUFDM0M7OztlQUdHO1lBQ0gsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQyxDQUFBO1NBQ3ZGO1FBRUQsSUFBSSxDQUFDLGdCQUFnQjthQUNsQixnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2FBQ2pFLElBQUksQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsc0JBQXNCO1lBRWpFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBRTVFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUNwRSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDeEMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBRXhDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7WUFDNUYsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtZQUM1RyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNsQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQyx3QkFBd0I7WUFFM0MsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDL0MsTUFBTSxVQUFVLEdBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQTtZQUMzRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQTtZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7WUFFcEQscUNBQXFDO1lBQ3JDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFBO1lBQ3JGLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDeEM7OztlQUdHO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxJQUFZLEVBQUUsRUFBWSxFQUFFLEVBQUU7Z0JBQzNELElBQUk7b0JBQ0YsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtpQkFDaEI7Z0JBQUMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUE7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFBO1lBQ0QsMkVBQTJFO1lBQzNFLE9BQU8sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7Q0FDRiJ9
/// <reference types="node" />
import { Transform } from 'stream';
import { DecipherGCM } from 'crypto';
import { GetVerify } from '@aws-crypto/material-management-node';
import { GetVerify, // eslint-disable-line no-unused-vars
GetDecipher } from '@aws-crypto/material-management-node';
import { // eslint-disable-line no-unused-vars

@@ -11,3 +11,3 @@ HeaderInfo } from '@aws-crypto/serialize';

headerInfo: HeaderInfo;
getDecipher: (iv: Uint8Array) => DecipherGCM;
getDecipher: GetDecipher;
dispose: () => void;

@@ -14,0 +14,0 @@ verify?: AWSVerify;

@@ -27,3 +27,4 @@ /*

authTagBuffer: Buffer.alloc(0),
signatureInfo: Buffer.alloc(0)
signatureInfo: Buffer.alloc(0),
sequenceNumber: 0
};

@@ -80,7 +81,14 @@ /* Precondition: MaxBodySize must be falsey or a number. */

needs(!this._maxBodySize || this._maxBodySize >= frameHeader.contentLength, 'maxBodySize exceeded.');
/* Keeping track of the sequence number myself. */
state.sequenceNumber += 1;
/* Precondition: The sequence number is required to monotonically increase, starting from 1.
* This is to avoid a bad actor from abusing the sequence number on un-signed algorithm suites.
* If the frame size matched the data format (say NDJSON),
* then the data could be significantly altered just by rearranging the frames.
* Non-framed data returns a sequenceNumber of 1.
*/
needs(frameHeader.sequenceNumber === state.sequenceNumber, 'Encrypted body sequence out of order.');
if (this._verify) {
this._verify.update(frameBuffer.slice(0, frameHeader.readPos));
}
// clear the buffer. It _could_ have cipher text...
state.buffer = Buffer.alloc(0);
const tail = chunk.slice(frameHeader.readPos);

@@ -118,19 +126,44 @@ this.emit('BodyInfo', frameHeader);

else {
state.authTagBuffer = Buffer.concat([authTagBuffer, chunk], tagLengthBytes);
const finalAuthTagBuffer = Buffer.concat([authTagBuffer, chunk], tagLengthBytes);
if (this._verify) {
this._verify.update(state.authTagBuffer);
this._verify.update(finalAuthTagBuffer);
}
this.emit('AuthTag', state.authTagBuffer);
/* Reset state.
* Ciphertext buffers and authTag buffers need to be cleared.
*/
state.buffer = Buffer.alloc(0);
state.currentFrame = undefined;
state.authTagBuffer = Buffer.alloc(0);
/* After the final frame the file format is _much_ simpler.
* Making sure the cascading if blocks fall to the signature can be tricky and brittle.
* After the final frame, just moving on to concatenate the signature is much simpler.
*/
if (currentFrame.isFinalFrame) {
/* Overwriting the _transform function.
* Data flow control is not handled here.
*/
this._transform = (chunk, _enc, callback) => {
if (chunk.length) {
state.signatureInfo = Buffer.concat([state.signatureInfo, chunk]);
}
callback();
};
}
const tail = chunk.slice(left);
if (!currentFrame.isFinalFrame) {
state.buffer = Buffer.alloc(0);
state.currentFrame = undefined;
state.authTagBuffer = Buffer.alloc(0);
}
return setImmediate(() => this._transform(tail, enc, callback));
/* The decipher_stream uses the `AuthTag` event to flush the accumulated frame.
* This is because ciphertext should never be returned until it is verified.
* i.e. the auth tag checked.
* This can create an issue if the chucks and frame size are small.
* If the verify stream continues processing and sends the next auth tag,
* before the current auth tag has been completed.
* This is basically a back pressure issue.
* Since the frame size, and consequently the high water mark,
* can not be know when the stream is created,
* the internal stream state would need to be modified.
* I assert that a simple callback is a simpler way to handle this.
*/
const next = () => this._transform(tail, enc, callback);
return this.emit('AuthTag', finalAuthTagBuffer, next);
}
}
if (chunk.length) {
state.signatureInfo = Buffer.concat([state.signatureInfo, chunk]);
}
callback();

@@ -158,2 +191,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5X3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnlfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBR2hFLE9BQU8sRUFDTCxLQUFLLEVBRU4sTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUdqQixNQUFNLHVCQUF1QixDQUFBO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBSXpELE1BQU0seUJBQXlCLEdBQXVDLGlCQUFrQixDQUFBO0FBb0J4RixNQUFNLE9BQU8sWUFBYSxTQUFRLHlCQUF5QjtJQVN6RCxZQUFhLEVBQUUsV0FBVyxFQUF1QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQVJELGlCQUFZLEdBQWdCO1lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQy9CLENBQUE7UUFLQywyREFBMkQ7UUFDM0QsS0FBSyxDQUFDLENBQUMsV0FBVyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFBO1FBQ2xGLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFFckYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUF5QixFQUFFLEVBQUU7WUFDNUMsaUZBQWlGO1lBQ2pGLEtB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5X3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnlfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWhFLE9BQU8sRUFDTCxLQUFLLEVBR04sTUFBTSxzQ0FBc0MsQ0FBQTtBQUM3QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUdqQixNQUFNLHVCQUF1QixDQUFBO0FBQzlCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBSXpELE1BQU0seUJBQXlCLEdBQXVDLGlCQUFrQixDQUFBO0FBcUJ4RixNQUFNLE9BQU8sWUFBYSxTQUFRLHlCQUF5QjtJQVV6RCxZQUFhLEVBQUUsV0FBVyxFQUF1QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQVRELGlCQUFZLEdBQWdCO1lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QixhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzlCLGNBQWMsRUFBRSxDQUFDO1NBQ2xCLENBQUE7UUFLQywyREFBMkQ7UUFDM0QsS0FBSyxDQUFDLENBQUMsV0FBVyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFBO1FBQ2xGLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFFckYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUF5QixFQUFFLEVBQUU7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

@@ -6,2 +6,19 @@ # Change Log

# [0.1.0-preview.2](/compare/@aws-crypto/decrypt-node@0.1.0-preview.1...@aws-crypto/decrypt-node@0.1.0-preview.2) (2019-07-24)
### Bug Fixes
* encrypt/decrypt node (#133) 896883a, closes #133
* sequence number order (#158) b7dc81e, closes #158
### Features
* Node.js Typescript version dependency (#146) 9dfa857, closes #146 #135 #74
# [0.1.0-preview.1](/compare/@aws-crypto/decrypt-node@0.1.0-preview.0...@aws-crypto/decrypt-node@0.1.0-preview.1) (2019-06-21)

@@ -8,0 +25,0 @@

{
"name": "@aws-crypto/decrypt-node",
"version": "0.1.0-preview.1",
"version": "0.1.0-preview.2",
"scripts": {

@@ -19,4 +19,4 @@ "prepublishOnly": "npm run build",

"dependencies": {
"@aws-crypto/material-management-node": "^0.1.0-preview.1",
"@aws-crypto/serialize": "^0.1.0-preview.1",
"@aws-crypto/material-management-node": "^0.1.0-preview.2",
"@aws-crypto/serialize": "^0.1.0-preview.2",
"@types/duplexify": "^3.6.0",

@@ -28,4 +28,4 @@ "duplexify": "^4.0.0",

"devDependencies": {
"@aws-crypto/encrypt-node": "^0.1.0-preview.1",
"@types/chai": "^4.1.4",
"@types/from2": "^2.3.0",
"@types/mocha": "^5.2.5",

@@ -36,2 +36,3 @@ "@types/node": "^11.11.4",

"chai": "^4.1.2",
"from2": "^2.3.0",
"mocha": "^5.2.0",

@@ -55,3 +56,4 @@ "nyc": "^14.0.0",

]
}
},
"gitHead": "970dbfad262186db90bd9ad2eba7a36d8a54ca18"
}

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

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc