iron-vc-api

A HTTP API for Verifiable Credentials life-cycle management

APACHE-2.0 License

Stars
0

Verifiable Credentials HTTP API

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

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]
  1. Edit src/main/appengine/app.yaml
  2. Compile and deploy
> ./bin/deploy.sh

Resources

Sponsors

Commercial Support

Commercial support is available at [email protected]