Skip to content

Commit 5617200

Browse files
committed
fix-presentation
1 parent dec5834 commit 5617200

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

src/did/services/did.service.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -861,13 +861,14 @@ export class DidService {
861861
mnemonic,
862862
namespace,
863863
);
864-
const hdPathIndex = didInfo.hdPathIndex;
865-
const slipPathKeys: Array<Slip10RawIndex> =
866-
this.hidWallet.makeSSIWalletPath(hdPathIndex);
867-
const seed = await this.hidWallet.generateMemonicToSeedFromSlip10RawIndex(
868-
slipPathKeys,
864+
865+
const appVault = await getAppVault(kmsId, edvId);
866+
const { mnemonic: userMnemonic } = await appVault.getDecryptedDocument(
867+
didInfo.kmsId,
869868
);
869+
const seed = await this.hidWallet.getSeedFromMnemonic(userMnemonic);
870870
const { publicKeyMultibase } = await hypersignDid.generateKeys({ seed });
871+
871872
Logger.log(
872873
'resolveDid() method: before calling hypersignDid.generate',
873874
'DidService',
@@ -876,6 +877,7 @@ export class DidService {
876877
methodSpecificId,
877878
publicKeyMultibase,
878879
});
880+
879881
const tempResolvedDid = {
880882
didDocument: resolvedDid,
881883
didDocumentMetadata: {},

src/presentation/controllers/presentation.controller.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,9 +350,13 @@ export class PresentationController {
350350
verify(
351351
@Headers('Authorization') authorization: string,
352352
@Body() presentation: VerifyPresentationDto,
353+
@Req() req,
353354
) {
354355
Logger.log('verify() method: starts', 'PresentationController');
355356

356-
return this.presentationRequestService.verifyPresentation(presentation);
357+
return this.presentationRequestService.verifyPresentation(
358+
presentation,
359+
req.user,
360+
);
357361
}
358362
}

src/presentation/services/presentation.service.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,7 @@ export class PresentationRequestService {
361361
holderDidDocSigned: didDocument as any,
362362
verificationMethodId: verificationMethodIdforAssert,
363363
challenge,
364+
domain,
364365
privateKeyMultibase,
365366
});
366367
} else {
@@ -376,7 +377,7 @@ export class PresentationRequestService {
376377
presentation: unsignedverifiablePresentation as IVerifiablePresentation,
377378
// holderDid,
378379
holderDidDocSigned: didDocument as any,
379-
380+
domain,
380381
verificationMethodId: verificationMethodIdforAssert,
381382
challenge,
382383
privateKeyMultibase,
@@ -389,7 +390,7 @@ export class PresentationRequestService {
389390
return { presentation: signedVerifiablePresentation };
390391
}
391392

392-
async verifyPresentation(presentations: VerifyPresentationDto) {
393+
async verifyPresentation(presentations: VerifyPresentationDto, appDetail) {
393394
Logger.log(
394395
'verifyPresentation() method: starts....',
395396
'PresentationRequestService',
@@ -411,11 +412,17 @@ export class PresentationRequestService {
411412
const issuerDid = presentation['verifiableCredential'][0]['issuer'];
412413
const challenge = presentation['proof']['challenge'];
413414
const type = presentation['proof']['type'];
415+
const domain = presentation['proof']['domain'];
414416

415417
Logger.log(
416418
'verifyPresentation() method:before calling hypersignVP.verify',
417419
'PresentationRequestService',
418420
);
421+
const holderDidResolved = await this.didService.resolveDid(
422+
appDetail,
423+
holderDid,
424+
);
425+
419426
let verifiedPresentationDetail;
420427
const holderVerificationMethodId =
421428
presentations.holderVerificationMethodId || holderDid + '#key-1';
@@ -425,16 +432,19 @@ export class PresentationRequestService {
425432
verifiedPresentationDetail = await hypersignVP.bjjVp.verify({
426433
signedPresentation: presentation as any,
427434
issuerDid,
428-
holderDid,
435+
holderDidDocSigned: holderDidResolved.didDocument,
429436
holderVerificationMethodId: holderVerificationMethodId,
430437
issuerVerificationMethodId: issuerVerificationMethodId,
431438
challenge,
439+
domain,
432440
});
433441
} else {
442+
// holderDidResolved.didDocument.verificationMethod[0].publicKeyMultibase='z6MkuX5ydorS9Hyf6J1Yu4tKPvzLwUpe6TVfATXqn17SvJA4'
434443
verifiedPresentationDetail = await hypersignVP.verify({
435444
signedPresentation: presentation as any,
436445
issuerDid,
437-
holderDid,
446+
domain,
447+
holderDidDocSigned: holderDidResolved.didDocument,
438448
holderVerificationMethodId: holderVerificationMethodId,
439449
issuerVerificationMethodId: issuerVerificationMethodId,
440450
challenge,

0 commit comments

Comments
 (0)