filip26 / iron-vc-api

A HTTP API for Verifiable Credentials life-cycle management
https://apicatalog.com
Apache License 2.0
0 stars 0 forks source link
credentials-issuer credentials-verification java vc-api verifiable-credentials

Verifiable Credentials HTTP API

An example implementation of the Verifiable Credentials HTTP API using Iron Verifiable Credentials, Titanium JSON-LD and Vert.x.

Java 17 CI License

Demo

https://vc.apicatalog.com/*

Extra Endpoints

POST /verify?[domain=]

Verifies verifiable credentials and presentations sent in raw JSON[-LD] format, expanded or compacted.

Contributing

All PR's welcome!

Setup

Variables

EDDSA Keys
> export ED_PUBLIC_KEY=[MULTIBASE]
> export ED_PRIVATE_KEY=[MULTIBASE]
ECDSA P-256 Keys
> export P256_PUBLIC_KEY=[MULTIBASE]
> export P256_PRIVATE_KEY=[MULTIBASE]
ECDSA P-384 Keys
> export P384_PUBLIC_KEY=[MULTIBASE]
> export P384_PRIVATE_KEY=[MULTIBASE]

See IssuingHandler and VCApiTest for an example.

Building

Fork and clone the project repository.

> cd iron-vc-api
> mvn clean package

Developing

> cd iron-vc-api
> chmod +x ./bin/start.sh
> ./bin/start.sh dev

Deployment

  1. Setup GAE project and install gcloud utility.
  2. Create .env.yaml in the project root directory
    env_variables:
    ED_PUBLIC_KEY: [MULTIBASE]
    ED_PRIVATE_KEY: [MULTIBASE]
    P256_PUBLIC_KEY: [MULTIBASE]
    P256_PRIVATE_KEY: [MULTIBASE]
    P384_PUBLIC_KEY: [MULTIBASE]
    P384_PRIVATE_KEY: [MULTIBASE]
  3. Edit src/main/appengine/app.yaml
  4. Compile and deploy
    > ./bin/deploy.sh

Resources

Sponsors

Commercial Support

Commercial support is available at filip26@gmail.com