From 7c6d506fdb0f4bef4beca25e27c652d01ef13eeb Mon Sep 17 00:00:00 2001 From: karliatto Date: Tue, 29 Jul 2025 11:27:08 +0200 Subject: [PATCH] feat(env-utils): add useCodeSignKey to getJWSPublicKey --- packages/env-utils/src/envUtils.native.ts | 14 +++++++++++--- packages/env-utils/src/envUtils.ts | 6 ++++-- packages/env-utils/src/types.ts | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/env-utils/src/envUtils.native.ts b/packages/env-utils/src/envUtils.native.ts index 307d289f68..615d4a893e 100644 --- a/packages/env-utils/src/envUtils.native.ts +++ b/packages/env-utils/src/envUtils.native.ts @@ -3,8 +3,8 @@ import { Dimensions, Platform } from 'react-native'; import Constants from 'expo-constants'; import { getLocales } from 'expo-localization'; -import { publicKey } from './jws'; -import { EnvUtils } from './types'; +import { firmwareConfigPublicKey, publicKey } from './jws'; +import { EnvUtils, JWSPublicKeyUse } from './types'; const isWeb = () => false; @@ -79,7 +79,15 @@ const getOsNameWeb = () => ''; const getOsFamily = (): 'Linux' => 'Linux'; -export const getJWSPublicKey = () => (isCodesignBuild() ? publicKey.codesign : publicKey.dev); +export const getJWSPublicKey = (use: JWSPublicKeyUse, useCodeSignKey = false) => { + if (['message-system', 'token-definitions'].includes(use)) { + return isCodesignBuild() ? publicKey.codesign : publicKey.dev; + } + + return isCodesignBuild() || useCodeSignKey + ? firmwareConfigPublicKey.codesign + : firmwareConfigPublicKey.dev; +}; export const envUtils: EnvUtils = { isWeb, diff --git a/packages/env-utils/src/envUtils.ts b/packages/env-utils/src/envUtils.ts index a5f4e3d1aa..5e465f9398 100644 --- a/packages/env-utils/src/envUtils.ts +++ b/packages/env-utils/src/envUtils.ts @@ -143,12 +143,14 @@ const getOsFamily = () => { const getDeviceType = () => getUserAgentParser().getDevice().type; -export const getJWSPublicKey = (use: JWSPublicKeyUse) => { +export const getJWSPublicKey = (use: JWSPublicKeyUse, useCodeSignKey = false) => { if (['message-system', 'token-definitions'].includes(use)) { return isCodesignBuild() ? publicKey.codesign : publicKey.dev; } - return isCodesignBuild() ? firmwareConfigPublicKey.codesign : firmwareConfigPublicKey.dev; + return isCodesignBuild() || useCodeSignKey + ? firmwareConfigPublicKey.codesign + : firmwareConfigPublicKey.dev; }; export const envUtils: EnvUtils = { diff --git a/packages/env-utils/src/types.ts b/packages/env-utils/src/types.ts index beaa27ef3b..5d901b6f03 100644 --- a/packages/env-utils/src/types.ts +++ b/packages/env-utils/src/types.ts @@ -35,5 +35,5 @@ export interface EnvUtils { getOsName: () => '' | 'android' | 'linux' | 'windows' | 'macos' | 'chromeos' | 'ios'; getOsNameWeb: () => string | undefined; getOsFamily: () => 'Windows' | 'MacOS' | 'Linux'; - getJWSPublicKey: (use: JWSPublicKeyUse) => string; + getJWSPublicKey: (use: JWSPublicKeyUse, useCodeSignKey?: boolean) => string; }