hyperledger / aries-framework-kotlin

aries-framework-kotlin
https://wiki.hyperledger.org/display/aries
Apache License 2.0
7 stars 6 forks source link

Create offer issue #32

Closed amutha-tg closed 2 days ago

amutha-tg commented 4 weeks ago

After successful connections with issuer we are seeing this issue while creating the offer. Attached error screenshots here Screenshot from 2024-08-14 15-05-37

conanoc commented 4 weeks ago

Your app should not create the offer. The issuer will create the offer and your app will receive it.

amutha-tg commented 3 weeks ago

Thanks for the response.

We are using the Credo agent (AFJ) to issue credentials (v2). While attempting to issue v1 credentials, we encountered the following error: “Only indy credential format is supported for the issuance of v1 protocol.” Our entire ecosystem is based on React Native, but we also need to develop a native app. Specifically, we are using the Credo agent to issue credentials in this environment. The agent has been properly initialized, and the public DID seed doesn’t seem to be working. I attempted to register the same DID as an endorser on the ledger, but I'm still receiving an error stating that I don't have the necessary rights/permissions. Additionally, how can I configure the agent to consistently use a custom DID generated from a specific seed for all operations?

WhatsApp Image 2024-08-19 at 11 10 06 AM(1) WhatsApp Image 2024-08-19 at 11 10 06 AM

conanoc commented 3 weeks ago

It seems that your code for creating a V1 offer in credo.ts is not correct. Besides that, it is a little bit tricky to exchange V1 credentials between credo.ts agents and aries-framework-kotlin agents because credo.ts does not support legacy credDefId.

Here's a sample code of a credo.ts agent that can communicate with an aries-framework-kotlin agent: https://github.com/hyperledger/aries-framework-swift/blob/main/Tests/javascript/Faber.ts#L188

conanoc commented 3 weeks ago

Specifically, we are using the Credo agent to issue credentials in this environment. The agent has been properly initialized, and the public DID seed doesn’t seem to be working. I attempted to register the same DID as an endorser on the ledger, but I'm still receiving an error stating that I don't have the necessary rights/permissions. Additionally, how can I configure the agent to consistently use a custom DID generated from a specific seed for all operations?

This seems to be a question about credo.ts. You'd better ask this on the credo.ts discord channel.

amutha-tg commented 3 weeks ago

thanks for right assistance here. If exchange v2 credentials between credo.ts agents and aries-framework-kotlin agents, will it work?

amutha-tg commented 3 weeks ago

Specifically, we are using the Credo agent to issue credentials in this environment. The agent has been properly initialized, and the public DID seed doesn’t seem to be working. I attempted to register the same DID as an endorser on the ledger, but I'm still receiving an error stating that I don't have the necessary rights/permissions. Additionally, how can I configure the agent to consistently use a custom DID generated from a specific seed for all operations?

This seems to be a question about credo.ts. You'd better ask this on the credo.ts discord channel.

Sure, will do it.

conanoc commented 3 weeks ago

thanks for right assistance here. If exchange v2 credentials between credo.ts agents and aries-framework-kotlin agents, will it work?

No. Aries-framework-kotlin does not support v2 credentials for now.

amutha-tg commented 3 weeks ago

thanks for right assistance here. If exchange v2 credentials between credo.ts agents and aries-framework-kotlin agents, will it work?

No. Aries-framework-kotlin does not support v2 credentials for now. Ok

amutha-tg commented 3 weeks ago

Received credentials from issuer successfully and when attempt to do acceptOffer seeing below error.

2024-08-22 15:52:36.680 27505-27666 System.out org...erledger.ariesproject.preprod I 15:52:36.674 [DefaultDispatcher-worker-4] DEBUG org.hyperledger.ariesframework.ledger.LedgerService - Get CredentialDefinition with id: did:indy:bcovrin:test:UgCAHEF9HscTD35NEMp9tm/anoncreds/v0/CLAIM_DEF/848/09.89 2024-08-22 15:52:36.695 27505-27580 SurfaceComposerClient org...erledger.ariesproject.preprod D VRR [FRTC] client handle [bufferId:18446744073709551615 framenumber:0] [ffffffff, ffffffff] 2024-08-22 15:52:36.698 27505-27666 System.out org...erledger.ariesproject.preprod I 15:52:36.693 [DefaultDispatcher-worker-4] ERROR org.hyperledger.ariesframework.agent.Dispatcher - Failed to dispatch message of type: https://didcomm.org/issue-credential/1.0/offer-credential 2024-08-22 15:52:36.702 27505-27505 Quality org...erledger.ariesproject.preprod I Skipped: false 1 cost 22.415808 refreshRate 0 processName org.hyperledger.ariesproject.preprod 2024-08-22 15:52:36.702 27505-27505 ActivityThread org...erledger.ariesproject.preprod E asyncReportFrames skippedFrames= 1 true 2024-08-22 15:52:36.704 27505-27666 System.out org...erledger.ariesproject.preprod I 15:52:36.699 [DefaultDispatcher-worker-4] ERROR org.hyperledger.ariesframework.agent.MessageReceiver - failed to receive message: indy_vdr_uniffi.ErrorCode$Input: Schema ID is invalid number in: CredentialDefinitionId("did:3:bcovrin:test:UgCAHEF9HscTD35NEMp9tm/anoncreds/v0/CLAIM_DEF/848/09.89") 2024-08-22 15:52:36.704 27505-27666 System.out org...erledger.ariesproject.preprod I invalid digit found in string 2024-08-22 15:52:42.103 27505-27505 WalletMainActivity org...erledger.ariesproject.preprod D CredentialExchangeRecord id: 6d0b6bd6-f95e-41cd-98ec-72b21a582dc5 2024-08-22 15:52:42.177 27505-27505 oplus.andr...actoryImpl org...erledger.ariesproject.preprod I get feature:IOplusDynamicVsyncFeature

Screenshot from 2024-08-22 15-55-52

conanoc commented 3 weeks ago

This is the error that I mentioned before.

it is a little bit tricky to exchange V1 credentials between credo.ts agents and aries-framework-kotlin agents because credo.ts does not support legacy credDefId.

The sample code I linked before shows how to handle this by using the function legacyCredDefId().