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!