Skip to content

An implementation of HTTP-triggered Google Cloud Run Functions providing W3C Verifiable Credentials Issuer and Verifier endpoints.

License

Notifications You must be signed in to change notification settings

filip26/iron-cloud-functions

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 filip26@gmail.com

About

An implementation of HTTP-triggered Google Cloud Run Functions providing W3C Verifiable Credentials Issuer and Verifier endpoints.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •