Skip to content

Commit

Permalink
fix: updated musap kms with recent changes from the musap react nativ…
Browse files Browse the repository at this point in the history
…e lib
  • Loading branch information
sksadjad committed Jul 24, 2024
1 parent 8561b0d commit b1518de
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 45 deletions.
2 changes: 1 addition & 1 deletion packages/musap-rn-kms/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"build:clean": "tsc --build --clean && tsc --build"
},
"dependencies": {
"@sphereon/musap-react-native": "0.0.2-unstable.69",
"@sphereon/musap-react-native": "0.0.1-unstable.106",
"@types/uuid": "^8.3.4",
"@veramo/core": "4.2.0",
"@veramo/key-manager": "4.2.0",
Expand Down
49 changes: 9 additions & 40 deletions packages/musap-rn-kms/src/agent/MusapKeyManagerSystem.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,11 @@ export class MusapKeyManagementSystem extends KeyManagementSystem {
role: 'administrator'
};
try {
const generatedKey = await this.generateKeyWrapper(sscdType, keyGenReq);
if (generatedKey) {
console.log('Generated key:', generatedKey);
return this.asMusapKeyInfo(generatedKey);
const generatedKeyUri = await this.musapKeyStore.generateKey(sscdType, keyGenReq);
if (generatedKeyUri) {
console.log('Generated key:', generatedKeyUri);
const key = await this.musapKeyStore.getKeyByUri(generatedKeyUri)
return this.asMusapKeyInfo(key);
} else {
console.log('Failed to generate key');
throw new Error('Failed to generate key');
Expand All @@ -61,26 +62,6 @@ export class MusapKeyManagementSystem extends KeyManagementSystem {
}
}

async generateKeyWrapper(type: SscdType, keyGenRequest: KeyGenReq): Promise<MusapKey | undefined> {
return new Promise((resolve) => {
this.musapKeyStore.generateKey(type, keyGenRequest, (error: any | undefined, keyUri: string | undefined) => {
if (this.musapKeyStore.listEnabledSscds()[0].sscdInfo.sscdName === 'SE' && error) {
console.log(error);
resolve(undefined);
} else if (error) {
console.log(error);
resolve(undefined);
} else if (keyUri) {
console.log(`Key successfully generated: ${keyUri}`);
const key = this.musapKeyStore.getKeyByUri(keyUri) as MusapKey;
resolve(key);
} else {
resolve(undefined);
}
});
});
}

async deleteKey({ kid }: { kid: string }): Promise<boolean> {
try {
await this.musapKeyStore.removeKey(kid);
Expand All @@ -92,10 +73,8 @@ export class MusapKeyManagementSystem extends KeyManagementSystem {
}

async sign(args: { keyRef: Pick<IKey, 'kid'>; algorithm?: string; data: Uint8Array; [x: string]: any }): Promise<string> {
return new Promise(async (resolve, reject) => {
if (!args.keyRef) {
reject(new Error('key_not_found: No key ref provided'));
return;
throw new Error('key_not_found: No key ref provided');
}

let data = ''
Expand All @@ -105,9 +84,9 @@ export class MusapKeyManagementSystem extends KeyManagementSystem {
console.log('error on decoding the Uint8Array data', e);
}

const key: MusapKey = (await this.musapKeyStore.getKeyByUri(args.keyRef.kid)) as MusapKey;
const key: MusapKey = (this.musapKeyStore.getKeyByUri(args.keyRef.kid)) as MusapKey;
const signatureReq: SignatureReq = {
key,
keyUri: key.keyUri,
data,
algorithm: args.algorithm as SignatureAlgorithmType,
displayText: args.displayText,
Expand All @@ -116,17 +95,7 @@ export class MusapKeyManagementSystem extends KeyManagementSystem {
attributes: args.attributes
};

this.musapKeyStore.sign(signatureReq, (error: string | undefined, signed: string | undefined) => {
if (error) {
console.error('Failed to sign data:', error);
reject(error);
} else if (signed) {
resolve(signed);
} else {
reject('Unknown error during signing');
}
});
});
return this.musapKeyStore.sign(signatureReq);
}

async importKey(args: Omit<MinimalImportableKey, 'kms'> & { privateKeyPEM?: string }): Promise<ManagedKeyInfo> {
Expand Down
34 changes: 30 additions & 4 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit b1518de

Please sign in to comment.