Skip to content

filip26/iron-vc-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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]
  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]