Skip to content

Commit cc167c5

Browse files
authored
feat: Message ID should be defined in serialize (#88)
And then used everywhere.
1 parent 09e9ef4 commit cc167c5

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

modules/encrypt-browser/src/encrypt.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import {
3434
ContentType,
3535
serializeSignatureInfo,
3636
FRAME_LENGTH,
37+
MESSAGE_ID_LENGTH,
3738
raw2der
3839
} from '@aws-crypto/serialize'
3940
import { fromUtf8 } from '@aws-sdk/util-utf8-browser'
@@ -81,9 +82,7 @@ export async function encrypt (
8182
const { material, context } = await cmm.getEncryptionMaterials(encryptionRequest)
8283
const { kdfGetSubtleEncrypt, subtleSign, dispose } = await getEncryptHelper(material)
8384

84-
// Why is this here?
85-
const idLength = 16
86-
const messageId = await backend.randomValues(idLength)
85+
const messageId = await backend.randomValues(MESSAGE_ID_LENGTH)
8786

8887
const { id, ivLength } = material.suite
8988

modules/encrypt-node/src/encrypt_stream.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ import { randomBytes } from 'crypto'
2525
import {
2626
MessageHeader, // eslint-disable-line no-unused-vars
2727
serializeFactory, kdfInfo, ContentType, SerializationVersion, ObjectType,
28-
FRAME_LENGTH
28+
FRAME_LENGTH,
29+
MESSAGE_ID_LENGTH
2930
} from '@aws-crypto/serialize'
3031

3132
// @ts-ignore
@@ -92,7 +93,7 @@ export function encryptStream (
9293
export function getEncryptionInfo (material : NodeEncryptionMaterial, frameLength: number, context: EncryptionContext) {
9394
const { kdfGetCipher } = getEncryptHelper(material)
9495

95-
const messageId = randomBytes(16)
96+
const messageId = randomBytes(MESSAGE_ID_LENGTH)
9697
const { id, ivLength } = material.suite
9798
const messageHeader: MessageHeader = Object.freeze({
9899
version: SerializationVersion.V1,

modules/serialize/src/identifiers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,5 @@ Object.freeze(Maximum)
7878

7979
// Default frame length when using framing
8080
export const FRAME_LENGTH = 4096
81+
// Message ID length as defined in specification
82+
export const MESSAGE_ID_LENGTH = 16

0 commit comments

Comments
 (0)