Skip to content

Unable to verify a self-description that has been signed with the signer tool

When using the signer tool together with the certificate generation described here, the signed self-description is completed and verified before being written to a file. If I copy and paste the contents of this file into the verification page at <fc-server>/verification, it fails with the following:

Status : error, Error : {"code":"verification_error","message":"Signatures error; com.danubetech.verifiablecredentials.VerifiablePresentation does not match with proof"}

It seems the problem is with the signing step: the .jar versions in the pom file are slightly different, so I updated these three to use the same versions as the fc-service, just in case there are slight differences in implementation:

            <dependency>
                <groupId>com.danubetech</groupId>
                <artifactId>verifiable-credentials-java</artifactId>
                <version>1.2.0</version> <!-- originally 1.0.0 -->
            </dependency>
            <dependency>
                <groupId>com.danubetech</groupId>
                <artifactId>key-formats-java</artifactId>
                <version>1.8.0</version> <!-- originally 1.5.0 -->
            </dependency>
            <dependency>
                <groupId>decentralized-identity</groupId>
                <artifactId>did-common-java</artifactId>
                <version>1.4.0</version> <!-- originally 1.0.0 -->
            </dependency>

However, this causes the signing to fail as the loadMissingContext function in info.weboftrust.ldsignatures.signer.LdSigner loads one object as type URI, which is not covered by the handle function in org.glassfish.json.MapUtil.

I appreciate that the signer is an interim solution, but it is the only one we are able to use at the moment to test our SDs!

Edited by Andrew Kenworthy