UNPKG

@aws-amplify/auth

Version:
1 lines 1.58 kB
{"version":3,"file":"getHkdfKey.mjs","sources":["../../../../../../src/providers/cognito/utils/srp/getHkdfKey.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Sha256 } from '@aws-crypto/sha256-js';\n/**\n * Standard HKDF algorithm.\n *\n * @param {Uint8Array} ikm Input key material.\n * @param {Uint8Array} salt Salt value.\n * @param {Uint8Array} info Context and application specific info.\n *\n * @returns {Uint8Array} Strong key material.\n *\n * @internal\n */\nexport const getHkdfKey = (ikm, salt, info) => {\n const awsCryptoHash = new Sha256(salt);\n awsCryptoHash.update(ikm);\n const resultFromAWSCryptoPrk = awsCryptoHash.digestSync();\n const awsCryptoHashHmac = new Sha256(resultFromAWSCryptoPrk);\n awsCryptoHashHmac.update(info);\n const resultFromAWSCryptoHmac = awsCryptoHashHmac.digestSync();\n const hashHexFromAWSCrypto = resultFromAWSCryptoHmac;\n return hashHexFromAWSCrypto.slice(0, 16);\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK;AAC/C,IAAI,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;AAC1C,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;AAC7B,IAAI,MAAM,sBAAsB,GAAG,aAAa,CAAC,UAAU,EAAE;AAC7D,IAAI,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,sBAAsB,CAAC;AAChE,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;AAClC,IAAI,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,UAAU,EAAE;AAClE,IAAI,MAAM,oBAAoB,GAAG,uBAAuB;AACxD,IAAI,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5C;;;;"}