Skip to content

Sandbox trust onboarding blocked — likely related to #143 (checksum mismatch in didtoolbox 2.3.0) #145

Description

@ajnurademi

Summary

While following the Sandbox onboarding cookbook (onboarding-base-and-trust-registry), I was unable to
complete step 5.1 ("Fetch the Challenge") of the trust onboarding process. I suspect this is a
downstream effect of #143.

Steps to reproduce

  1. Registered a business partner in the swiyu Service Portal, subscribed to all three APIs
    (identifier, status, trust), reserved a DID space.

  2. Ran didtoolbox-2.3.0.jar create to generate the DID log — hit the exact checksum mismatch
    crash described in didtoolbox-java 2.3.0 checksum mismatch #143:

    Exception in thread "main" java.lang.ExceptionInInitializerError
            at ch.admin.eid.did_sidekicks.Did_sidekicksKt.uniffiEnsureInitialized(did_sidekicks.kt:1349)
            at ch.admin.eid.didresolver.UniffiLib.<clinit>(did.kt:679)
            at ch.admin.eid.didresolver.Did.<init>(did.kt:1274)
            at ch.admin.bj.swiyu.didtoolbox.model.WebVerifiableHistoryDidLogMetaPeeker.peek(WebVerifiableHistoryDidLogMetaPeeker.java:124)
            at ch.admin.bj.swiyu.didtoolbox.webvh.WebVerifiableHistoryCreator.createDidLog(WebVerifiableHistoryCreator.java:577)
            at ch.admin.bj.swiyu.didtoolbox.webvh.WebVerifiableHistoryCreator.createDidLog(WebVerifiableHistoryCreator.java:499)
            at ch.admin.bj.swiyu.didtoolbox.context.DidLogCreatorContext.create(DidLogCreatorContext.java:412)
            at ch.admin.bj.swiyu.didtoolbox.context.DidLogCreatorContext.create(DidLogCreatorContext.java:393)
            at ch.admin.bj.swiyu.didtoolbox.JCommanderRunner.runCreateDidLogCommand(JCommanderRunner.java:134)
            at ch.admin.bj.swiyu.didtoolbox.Main.run(Main.java:88)
            at ch.admin.bj.swiyu.didtoolbox.Main.main(Main.java:20)
    Caused by: java.lang.RuntimeException: UniFFI API checksum mismatch: try cleaning and rebuilding your project
            at ch.admin.eid.did_sidekicks.Did_sidekicksKt.uniffiCheckApiChecksums(did_sidekicks.kt:1131)
            at ch.admin.eid.did_sidekicks.Did_sidekicksKt.access$uniffiCheckApiChecksums(did_sidekicks.kt:1)
            at ch.admin.eid.did_sidekicks.IntegrityCheckingUniffiLib.<clinit>(did_sidekicks.kt:659)
            ... 11 more
    
  3. As a workaround, used an older didtoolbox release to generate and upload the DID log.
    Upload succeeded (200 OK), and the DID shows status "Active" in the Service Portal.

  4. Proceeded to step 5.1: GET /api/v1/trust/trust-onboarding-submission/proof-of-possessions
    on the trust-reg-api. Received:

    {"errorCode":"resource_not_found","message":"No UNSUBMITTED TrustOnboardingSubmission found for partner and therefore no submission of proof of possessions is possible","additionalDetails":[]}

Additional testing

  • Repeated the entire flow from scratch with a brand-new business partner and a brand-new DID —
    same result.
  • Could not find any explicit "start trust onboarding" button/step in the Service Portal; the
    cookbook only says this should happen "in the swiyu Service Portal" without pointing to a
    specific action.
  • Verified access tokens are correctly scoped for the trust API (no auth errors on the request,
    only the "resource_not_found" business error).

Hypothesis

The release announcement for the new Sandbox onboarding flow states: "new DID's must be created
with the new standard (and new toolbox version)." Since didtoolbox 2.3.0 — the version
implementing this new standard — is currently broken (#143), I could only generate a DID with an
older toolbox version. It's possible the trust registry silently declines to create an onboarding
submission for DIDs that don't meet the new standard, without surfacing a clear error at DID
upload time.

Question

Could someone confirm whether trust onboarding requires a DID created with a specific toolbox
version, and/or whether there's a way to manually trigger the trust onboarding submission that
I might have missed in the Service Portal?

This effectively blocks Sandbox onboarding end-to-end until #143 is resolved, since there's
currently no working path to produce a DID that satisfies both the checksum-mismatch-free
toolbox requirement and whatever the trust registry expects.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions