openwallet-foundation / acapy

ACA-Py is a foundation for building decentralized identity applications and services running in non-mobile environments.
https://aca-py.org
Apache License 2.0
420 stars 513 forks source link

Unable to set public key from verification method: no publicKeyBase58 #3227

Open securedimensions opened 2 months ago

securedimensions commented 2 months ago

Summary

The verification of a W3C VC return error

Unable to set public key from verification method: no publicKeyBase58

when the public key is resolved via the dev.uniresolver.io. The resolver returns the public key as publicKeyJwk rather publicKeyBase58 as required by aries-cloudagent.

https://dev.uniresolver.io/1.0/identifiers/did%3Aweb%3Aemc.spacebel.be%3Aorganisations%3Ade_dlr returns

{
    "@context": [
        "https://www.w3.org/ns/did/v1",
        {
            "Ed25519VerificationKey2018": "https://w3id.org/security#Ed25519VerificationKey2018",
            "publicKeyJwk": {
                "@id": "https://w3id.org/security#publicKeyJwk",
                "@type": "@json"
            }
        }
    ],
    "assertionMethod": [
        "did:web:emc.spacebel.be:organisations:de_dlr#z6MkwQSWK8dfis9Kp9kWUb4g2pG5iaab92PafzbgL2nN1TS1"
    ],
    "id": "did:web:emc.spacebel.be:organisations:de_dlr",
    "verificationMethod": [
        {
            "id": "did:web:emc.spacebel.be:organisations:de_dlr#z6MkwQSWK8dfis9Kp9kWUb4g2pG5iaab92PafzbgL2nN1TS1",
            "type": "Ed25519VerificationKey2018",
            "controller": "did:web:emc.spacebel.be:organisations:de_dlr",
            "publicKeyJwk": {
                "kty": "OKP",
                "crv": "Ed25519",
                "x": "-93DZ8xtjHPn9VV4eohyXjgE0OWGnQcoJB6y8DEMB4I"
            }
        }
    ],
    "authentication": [
        "did:web:emc.spacebel.be:organisations:de_dlr#z6MkwQSWK8dfis9Kp9kWUb4g2pG5iaab92PafzbgL2nN1TS1"
    ],
    "alsoKnownAs": [
        "https://gcmd.earthdata.nasa.gov/kms/concept/2f9d7c12-c02d-41fb-a168-4d91794187f7",
        "https://dbpedia.org/resource/German_Aerospace_Center",
        "https://ror.org/04bwf3e34",
        "https://yago-knowledge.org/resource/German_Aerospace_Center"
    ]
}

Reproducing the error

First, start aca-py with the parameters --universal-resolver --universal-resolver-regex did:web:.* to enable the universal resolver for external DIDs. Second, send W3C VC verification request to endpoint /vc/credentials/verify:

curl -X 'POST' \
  'http://<host:port>/vc/credentials/verify' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: ...' \
  -H 'Content-Type: application/json' \
  -d '{
      "options": {
         "challenge": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
         "created": "2021-12-31T23:59:59Z",
         "proofPurpose": "assertionMethod",
         "proofType": "Ed25519Signature2018",
         "verificationMethod": "did:web:emc.spacebel.be:organisations:de_dlr#z6MkwQSWK8dfis9Kp9kWUb4g2pG5iaab92PafzbgL2nN1TS1"
      },
      "verifiableCredential": {
         "@context": [
            "https://www.w3.org/2018/credentials/v1",
            {
               "gj": "https://purl.org/geojson/vocab#",
               "title": "dct:title",
               "bbox": {
                  "@container": "@list",
                  "@id": "gj:bbox"
               },
               "updated": "dct:modified",
               "Polygon": "gj:Polygon",
               "links": {
                  "@context": {
                     "@vocab": "http://www.iana.org/assignments/relation/",
                     "type": "atom:type"
                  },
                  "@id": "owc:links"
               },
               "geometry": "gj:geometry",
               "previews": "iana:icon",
               "iana": "http://www.iana.org/assignments/relation/",
               "atom": "http://www.w3.org/2005/Atom/",
               "date": "dct:date",
               "Feature": "gj:Feature",
               "data": "iana:enclosure",
               "dct": "http://purl.org/dc/terms/",
               "coordinates": "gj:coordinates",
               "owc": "http://www.opengis.net/ont/owc/1.0/"
            }
         ],
         "id": "did:web:emc.spacebel.be:collections:TropForest:items:KO2_OTPF_KO2_MSC_2F_20091107T041750_20091107T041750_017498_E082_N028",
         "type": [
            "VerifiableCredential",
            "Feature"
         ],
         "credentialSubject": {
            "id": "did:web:emc.spacebel.be:collections:TropForest:items:KO2_OTPF_KO2_MSC_2F_20091107T041750_20091107T041750_017498_E082_N028",
            "bbox": [
               81.91450641,
               27.91026471,
               82.10769379,
               28.08365828
            ],
            "links": {
               "data": [
                  {
                     "href": "https://tpm-ds.eo.esa.int/oads/data/Tropforest/KO2_OTPF_KO2_MSC_2F_20091107T041750_20091107T041750_017498_E082_N028.ZIP",
                     "title": "Download"
                  }
               ]
            }
         },
         "issuer": "did:web:emc.spacebel.be:organisations:de_dlr",
         "issuanceDate": "2020-08-19T21:41:50Z",
         "proof": {
            "type": "Ed25519Signature2018",
            "proofPurpose": "assertionMethod",
            "verificationMethod": "did:web:emc.spacebel.be:organisations:de_dlr#z6MkwQSWK8dfis9Kp9kWUb4g2pG5iaab92PafzbgL2nN1TS1",
            "created": "2024-09-10T14:58:28.764Z",
            "jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..QrsE8FcdfvFTQmmvLy6EsrPEwMvlW4W7Tv5z8oh1zE1p2i4yhAnbfSbi7OiaTBR8mU930XSfRmqeB0qJiV4XBA"
         }
      }
   }'

This returns the error

{
  "verified": false,
  "document": {
    "@context": [
      "https://www.w3.org/2018/credentials/v1",
      {
        "gj": "https://purl.org/geojson/vocab#",
        "title": "dct:title",
        "bbox": {
          "@container": "@list",
          "@id": "gj:bbox"
        },
        "updated": "dct:modified",
        "Polygon": "gj:Polygon",
        "links": {
          "@context": {
            "@vocab": "http://www.iana.org/assignments/relation/",
            "type": "atom:type"
          },
          "@id": "owc:links"
        },
        "geometry": "gj:geometry",
        "previews": "iana:icon",
        "iana": "http://www.iana.org/assignments/relation/",
        "atom": "http://www.w3.org/2005/Atom/",
        "date": "dct:date",
        "Feature": "gj:Feature",
        "data": "iana:enclosure",
        "dct": "http://purl.org/dc/terms/",
        "coordinates": "gj:coordinates",
        "owc": "http://www.opengis.net/ont/owc/1.0/"
      }
    ],
    "id": "did:web:emc.spacebel.be:collections:TropForest:items:KO2_OTPF_KO2_MSC_2F_20091107T041750_20091107T041750_017498_E082_N028",
    "type": [
      "VerifiableCredential",
      "Feature"
    ],
    "issuer": "did:web:emc.spacebel.be:organisations:de_dlr",
    "issuanceDate": "2020-08-19T21:41:50Z",
    "credentialSubject": {
      "id": "did:web:emc.spacebel.be:collections:TropForest:items:KO2_OTPF_KO2_MSC_2F_20091107T041750_20091107T041750_017498_E082_N028",
      "bbox": [
        81.91450641,
        27.91026471,
        82.10769379,
        28.08365828
      ],
      "links": {
        "data": [
          {
            "href": "https://tpm-ds.eo.esa.int/oads/data/Tropforest/KO2_OTPF_KO2_MSC_2F_20091107T041750_20091107T041750_017498_E082_N028.ZIP",
            "title": "Download"
          }
        ]
      }
    },
    "proof": {
      "type": "Ed25519Signature2018",
      "proofPurpose": "assertionMethod",
      "verificationMethod": "did:web:emc.spacebel.be:organisations:de_dlr#z6MkwQSWK8dfis9Kp9kWUb4g2pG5iaab92PafzbgL2nN1TS1",
      "created": "2024-09-10T14:58:28.764Z",
      "jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..QrsE8FcdfvFTQmmvLy6EsrPEwMvlW4W7Tv5z8oh1zE1p2i4yhAnbfSbi7OiaTBR8mU930XSfRmqeB0qJiV4XBA"
    }
  },
  "results": [
    {
      "verified": false,
      "proof": {
        "@context": [
          "https://www.w3.org/2018/credentials/v1",
          {
            "gj": "https://purl.org/geojson/vocab#",
            "title": "dct:title",
            "bbox": {
              "@container": "@list",
              "@id": "gj:bbox"
            },
            "updated": "dct:modified",
            "Polygon": "gj:Polygon",
            "links": {
              "@context": {
                "@vocab": "http://www.iana.org/assignments/relation/",
                "type": "atom:type"
              },
              "@id": "owc:links"
            },
            "geometry": "gj:geometry",
            "previews": "iana:icon",
            "iana": "http://www.iana.org/assignments/relation/",
            "atom": "http://www.w3.org/2005/Atom/",
            "date": "dct:date",
            "Feature": "gj:Feature",
            "data": "iana:enclosure",
            "dct": "http://purl.org/dc/terms/",
            "coordinates": "gj:coordinates",
            "owc": "http://www.opengis.net/ont/owc/1.0/"
          }
        ],
        "type": "Ed25519Signature2018",
        "proofPurpose": "assertionMethod",
        "verificationMethod": "did:web:emc.spacebel.be:organisations:de_dlr#z6MkwQSWK8dfis9Kp9kWUb4g2pG5iaab92PafzbgL2nN1TS1",
        "created": "2024-09-10T14:58:28.764Z",
        "jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..QrsE8FcdfvFTQmmvLy6EsrPEwMvlW4W7Tv5z8oh1zE1p2i4yhAnbfSbi7OiaTBR8mU930XSfRmqeB0qJiV4XBA"
      },
      "error": "Unable to set public key from verification method: no publicKeyBase58"
    }
  ],
  "errors": [
    "Unable to set public key from verification method: no publicKeyBase58"
  ]
}

Question

Can I activate the support for publicKeyJwk somehow?

PatStLouis commented 2 months ago

Your did document is odd, you set the type to Ed25519VerificationKey2018 but display the key as a json web key. Ed25519VerificationKey2018 requires a publicKeyBase58 representation of the public key. Change the the verificationMethod type to JsonWebKey2020 to use jwk. Also you are using the Ed25519Signature2018 crytosuite which should technically match with a Ed25519VerificationKey2018. If you want to use JWK I would use a different securing mechanism such as jwt-vc or JsonWebSignature2020. Aca-py will support jwt-vc, but not JsonWebSignature2020 for the time being. You can also just represent the key as the publicKeyBase58 form and aca-py should be able to verify this credential.

The univerifier also has a hard time verifying your proof

securedimensions commented 2 months ago

Thank you for the quick answer!

The problem is that I cannot change the DiD document as it's given.

However, I found another VC that validates with the univerifier but does not with Aries:

{
   "credentialSubject": {
      "date": "2024-08-31T00:00:00.000000Z/2024-08-31T00:00:00.000000Z",
      "bbox": [
         -44.078494,
         -3.931139,
         -34.874524,
         4.18639
      ],
      "links": {
         "data": [
            {
               "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_CMASK_GRID_SURFACE.tif",
               "title": "CMASK",
               "type": "image/tiff; application=geotiff; profile=cloud-optimized"
            },
            {
               "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND1_GRID_SURFACE.tif",
               "title": "BAND1",
               "type": "image/tiff; application=geotiff; profile=cloud-optimized"
            },
            {
               "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND2_GRID_SURFACE.tif",
               "title": "BAND2",
               "type": "image/tiff; application=geotiff; profile=cloud-optimized"
            },
            {
               "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND3_GRID_SURFACE.tif",
               "title": "BAND3",
               "type": "image/tiff; application=geotiff; profile=cloud-optimized"
            },
            {
               "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND4_GRID_SURFACE.tif",
               "title": "BAND4",
               "type": "image/tiff; application=geotiff; profile=cloud-optimized"
            }
         ],
         "previews": [
            {
               "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015.png",
               "title": "Preview",
               "type": "image/png"
            }
         ]
      },
      "geometry": {
         "coordinates": [
            [
               [
                  -44.078494,
                  -3.931139
               ],
               [
                  -44.078494,
                  4.18639
               ],
               [
                  -34.874524,
                  4.18639
               ],
               [
                  -34.874524,
                  -3.931139
               ],
               [
                  -44.078494,
                  -3.931139
               ]
            ]
         ],
         "type": "Polygon"
      },
      "id": "did:web:emc.spacebel.be:collections:AMZ1-WFI-L4-SR-1:items:AMAZONIA_1_WFI_20240831_034_015",
      "title": "AMAZONIA_1_WFI_20240831_034_015",
      "updated": "2024-09-05T19:03:04.887222Z"
   },
   "issuanceDate": "2024-09-12T06:47:20Z",
   "id": "did:web:emc.spacebel.be:collections:AMZ1-WFI-L4-SR-1:items:AMAZONIA_1_WFI_20240831_034_015",
   "proof": {
      "created": "2024-09-12T06:47:21.017Z",
      "jws": "eyJhbGciOiJFUzI1NksiLCJjcml0IjpbImI2NCJdLCJiNjQiOmZhbHNlfQ..ParvZXf2mVJ_Ip2FuCjpl26eGJokz5cABS-bJEXFrWEBeMGlJilZJiCGBLBV6Zwzhs8QCLsi9HXgofrkeE4j6A",
      "proofPurpose": "assertionMethod",
      "type": "EcdsaSecp256k1Signature2019",
      "verificationMethod": "did:web:emc.spacebel.be:organisations:br_inpe#owner"
   },
   "type": [
      "VerifiableCredential",
      "Feature"
   ],
   "@context": [
      "https://www.w3.org/2018/credentials/v1",
      {
         "date": "dct:date",
         "gj": "https://purl.org/geojson/vocab#",
         "data": "iana:enclosure",
         "bbox": {
            "@id": "gj:bbox",
            "@container": "@list"
         },
         "coordinates": "gj:coordinates",
         "title": "dct:title",
         "Feature": "gj:Feature",
         "dct": "http://purl.org/dc/terms/",
         "previews": "iana:icon",
         "geometry": "gj:geometry",
         "iana": "http://www.iana.org/assignments/relation/",
         "links": {
            "@id": "owc:links",
            "@context": {
               "@vocab": "http://www.iana.org/assignments/relation/",
               "type": "atom:type"
            }
         },
         "owc": "http://www.opengis.net/ont/owc/1.0/",
         "href": "@id",
         "id": "@id",
         "Polygon": "gj:Polygon",
         "atom": "http://www.w3.org/2005/Atom/",
         "updated": "dct:modified"
      }
   ],
   "issuer": "did:web:emc.spacebel.be:organisations:br_inpe"
}

Feeding this into the univerifier, the verification result is

VERIFIED:   true
ISSUER:     did:web:emc.spacebel.be:organisations:br_inpe
SUBJECT:    did:web:emc.spacebel.be:collections:AMZ1-WFI-L4-SR-1:items:AMAZONIA_1_WFI_20240831_034_015
CHECKS:     credential-parse: true
CHECKS:     credential-proof: EcdsaSecp256k1Signature2019/secp256k1 (ES256K)
CHECKS:     issuance-date: true
CHECKS:     ebsi-tir (no data)
CHECKS:     did-lei (no data)

Feeding the same VC into /vc/verify produces the following respone (with errors):

request:

{
   "options": {},
   "verifiableCredential": {
      "credentialSubject": {
         "date": "2024-08-31T00:00:00.000000Z/2024-08-31T00:00:00.000000Z",
         "bbox": [
            -44.078494,
            -3.931139,
            -34.874524,
            4.18639
         ],
         "links": {
            "data": [
               {
                  "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_CMASK_GRID_SURFACE.tif",
                  "title": "CMASK",
                  "type": "image/tiff; application=geotiff; profile=cloud-optimized"
               },
               {
                  "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND1_GRID_SURFACE.tif",
                  "title": "BAND1",
                  "type": "image/tiff; application=geotiff; profile=cloud-optimized"
               },
               {
                  "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND2_GRID_SURFACE.tif",
                  "title": "BAND2",
                  "type": "image/tiff; application=geotiff; profile=cloud-optimized"
               },
               {
                  "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND3_GRID_SURFACE.tif",
                  "title": "BAND3",
                  "type": "image/tiff; application=geotiff; profile=cloud-optimized"
               },
               {
                  "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND4_GRID_SURFACE.tif",
                  "title": "BAND4",
                  "type": "image/tiff; application=geotiff; profile=cloud-optimized"
               }
            ],
            "previews": [
               {
                  "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015.png",
                  "title": "Preview",
                  "type": "image/png"
               }
            ]
         },
         "geometry": {
            "coordinates": [
               [
                  [
                     -44.078494,
                     -3.931139
                  ],
                  [
                     -44.078494,
                     4.18639
                  ],
                  [
                     -34.874524,
                     4.18639
                  ],
                  [
                     -34.874524,
                     -3.931139
                  ],
                  [
                     -44.078494,
                     -3.931139
                  ]
               ]
            ],
            "type": "Polygon"
         },
         "id": "did:web:emc.spacebel.be:collections:AMZ1-WFI-L4-SR-1:items:AMAZONIA_1_WFI_20240831_034_015",
         "title": "AMAZONIA_1_WFI_20240831_034_015",
         "updated": "2024-09-05T19:03:04.887222Z"
      },
      "issuanceDate": "2024-09-12T06:47:20Z",
      "id": "did:web:emc.spacebel.be:collections:AMZ1-WFI-L4-SR-1:items:AMAZONIA_1_WFI_20240831_034_015",
      "proof": {
         "created": "2024-09-12T06:47:21.017Z",
         "jws": "eyJhbGciOiJFUzI1NksiLCJjcml0IjpbImI2NCJdLCJiNjQiOmZhbHNlfQ..ParvZXf2mVJ_Ip2FuCjpl26eGJokz5cABS-bJEXFrWEBeMGlJilZJiCGBLBV6Zwzhs8QCLsi9HXgofrkeE4j6A",
         "proofPurpose": "assertionMethod",
         "type": "EcdsaSecp256k1Signature2019",
         "verificationMethod": "did:web:emc.spacebel.be:organisations:br_inpe#owner"
      },
      "type": [
         "VerifiableCredential",
         "Feature"
      ],
      "@context": [
         "https://www.w3.org/2018/credentials/v1",
         {
            "date": "dct:date",
            "gj": "https://purl.org/geojson/vocab#",
            "data": "iana:enclosure",
            "bbox": {
               "@id": "gj:bbox",
               "@container": "@list"
            },
            "coordinates": "gj:coordinates",
            "title": "dct:title",
            "Feature": "gj:Feature",
            "dct": "http://purl.org/dc/terms/",
            "previews": "iana:icon",
            "geometry": "gj:geometry",
            "iana": "http://www.iana.org/assignments/relation/",
            "links": {
               "@id": "owc:links",
               "@context": {
                  "@vocab": "http://www.iana.org/assignments/relation/",
                  "type": "atom:type"
               }
            },
            "owc": "http://www.opengis.net/ont/owc/1.0/",
            "href": "@id",
            "id": "@id",
            "Polygon": "gj:Polygon",
            "atom": "http://www.w3.org/2005/Atom/",
            "updated": "dct:modified"
         }
      ],
      "issuer": "did:web:emc.spacebel.be:organisations:br_inpe"
   }
}

response:

Server response
Code    Details
200 
Response body
Download

{
  "verified": false,
  "document": {
    "@context": [
      "https://www.w3.org/2018/credentials/v1",
      {
        "date": "dct:date",
        "gj": "https://purl.org/geojson/vocab#",
        "data": "iana:enclosure",
        "bbox": {
          "@id": "gj:bbox",
          "@container": "@list"
        },
        "coordinates": "gj:coordinates",
        "title": "dct:title",
        "Feature": "gj:Feature",
        "dct": "http://purl.org/dc/terms/",
        "previews": "iana:icon",
        "geometry": "gj:geometry",
        "iana": "http://www.iana.org/assignments/relation/",
        "links": {
          "@id": "owc:links",
          "@context": {
            "@vocab": "http://www.iana.org/assignments/relation/",
            "type": "atom:type"
          }
        },
        "owc": "http://www.opengis.net/ont/owc/1.0/",
        "href": "@id",
        "id": "@id",
        "Polygon": "gj:Polygon",
        "atom": "http://www.w3.org/2005/Atom/",
        "updated": "dct:modified"
      }
    ],
    "id": "did:web:emc.spacebel.be:collections:AMZ1-WFI-L4-SR-1:items:AMAZONIA_1_WFI_20240831_034_015",
    "type": [
      "VerifiableCredential",
      "Feature"
    ],
    "issuer": "did:web:emc.spacebel.be:organisations:br_inpe",
    "issuanceDate": "2024-09-12T06:47:20Z",
    "credentialSubject": {
      "date": "2024-08-31T00:00:00.000000Z/2024-08-31T00:00:00.000000Z",
      "bbox": [
        -44.078494,
        -3.931139,
        -34.874524,
        4.18639
      ],
      "links": {
        "data": [
          {
            "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_CMASK_GRID_SURFACE.tif",
            "title": "CMASK",
            "type": "image/tiff; application=geotiff; profile=cloud-optimized"
          },
          {
            "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND1_GRID_SURFACE.tif",
            "title": "BAND1",
            "type": "image/tiff; application=geotiff; profile=cloud-optimized"
          },
          {
            "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND2_GRID_SURFACE.tif",
            "title": "BAND2",
            "type": "image/tiff; application=geotiff; profile=cloud-optimized"
          },
          {
            "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND3_GRID_SURFACE.tif",
            "title": "BAND3",
            "type": "image/tiff; application=geotiff; profile=cloud-optimized"
          },
          {
            "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015_L4_BAND4_GRID_SURFACE.tif",
            "title": "BAND4",
            "type": "image/tiff; application=geotiff; profile=cloud-optimized"
          }
        ],
        "previews": [
          {
            "href": "https://data.inpe.br/bdc/data/amazonia_wfi/2024_08/AMAZONIA_1_WFI_RAW_2024_08_31.13_13_30_CB10/034_015_0/4_BC_LCC_WGS84/AMAZONIA_1_WFI_20240831_034_015.png",
            "title": "Preview",
            "type": "image/png"
          }
        ]
      },
      "geometry": {
        "coordinates": [
          [
            [
              -44.078494,
              -3.931139
            ],
            [
              -44.078494,
              4.18639
            ],
            [
              -34.874524,
              4.18639
            ],
            [
              -34.874524,
              -3.931139
            ],
            [
              -44.078494,
              -3.931139
            ]
          ]
        ],
        "type": "Polygon"
      },
      "id": "did:web:emc.spacebel.be:collections:AMZ1-WFI-L4-SR-1:items:AMAZONIA_1_WFI_20240831_034_015",
      "title": "AMAZONIA_1_WFI_20240831_034_015",
      "updated": "2024-09-05T19:03:04.887222Z"
    },
    "proof": {
      "type": "EcdsaSecp256k1Signature2019",
      "proofPurpose": "assertionMethod",
      "verificationMethod": "did:web:emc.spacebel.be:organisations:br_inpe#owner",
      "created": "2024-09-12T06:47:21.017Z",
      "jws": "eyJhbGciOiJFUzI1NksiLCJjcml0IjpbImI2NCJdLCJiNjQiOmZhbHNlfQ..ParvZXf2mVJ_Ip2FuCjpl26eGJokz5cABS-bJEXFrWEBeMGlJilZJiCGBLBV6Zwzhs8QCLsi9HXgofrkeE4j6A"
    }
  },
  "errors": [
    "Could not verify any proofs; no proofs matched the required suites (Ed25519Signature2018, Ed25519Signature2020) and purpose (assertionMethod)"
  ]
}

This now looks like a missing support for EcdsaSecp256k1Signature2019, right?

Why is the purpose in error?

I'm using the Aries Cloud Agent v1.0.0. How can I make it work?

PatStLouis commented 2 months ago

You are correct, ACA-py only supports ED25519Signature2018/ED25519Signature2020. Support for EcdsaSecp256k1Signature2019 would be a good addition to, and should be simpler to implement on the verification side. If you're interested to look into this, you can create a EcdsaSecp256k1Signature2019 suite here.