Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/filip26/iron-vc-api
A HTTP API for Verifiable Credentials life-cycle management
https://github.com/filip26/iron-vc-api
credentials-issuer credentials-verification java vc-api verifiable-credentials
Last synced: 16 days ago
JSON representation
A HTTP API for Verifiable Credentials life-cycle management
- Host: GitHub
- URL: https://github.com/filip26/iron-vc-api
- Owner: filip26
- License: apache-2.0
- Created: 2022-06-12T22:12:00.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-06T15:06:06.000Z (30 days ago)
- Last Synced: 2024-12-06T16:24:25.041Z (30 days ago)
- Topics: credentials-issuer, credentials-verification, java, vc-api, verifiable-credentials
- Language: Java
- Homepage: https://apicatalog.com
- Size: 324 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Verifiable Credentials HTTP API
An example implementation of the [Verifiable Credentials HTTP API](https://w3c-ccg.github.io/vc-api/) using [Iron Verifiable Credentials](https://github.com/filip26/iron-verifiable-credentials), [Titanium JSON-LD](https://github.com/filip26/titanium-json-ld) and [Vert.x](https://vertx.io/).
[![Java 17 CI](https://github.com/filip26/vc-http-api/actions/workflows/java17-build.yml/badge.svg)](https://github.com/filip26/vc-http-api/actions/workflows/java17-build.yml)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)## Demo
[https://vc.apicatalog.com/*](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
```bash
> export ED_PUBLIC_KEY=[MULTIBASE]
> export ED_PRIVATE_KEY=[MULTIBASE]
```##### ECDSA P-256 Keys
```bash
> export P256_PUBLIC_KEY=[MULTIBASE]
> export P256_PRIVATE_KEY=[MULTIBASE]
```##### ECDSA P-384 Keys
```bash
> export P384_PUBLIC_KEY=[MULTIBASE]
> export P384_PRIVATE_KEY=[MULTIBASE]
```See [IssuingHandler](https://github.com/filip26/iron-vc-api/blob/33004560eafb913ea812e7883d742acaea6da59f/src/main/java/com/apicatalog/vc/service/issuer/IssuingHandler.java#L32) and [VCApiTest](https://github.com/filip26/iron-vc-api/blob/33004560eafb913ea812e7883d742acaea6da59f/src/test/java/com/apicatalog/vc/service/VcApiTest.java#L40) for an example.
### Building
Fork and clone the project repository.
```bash
> cd iron-vc-api
> mvn clean package
```### Developing
```bash
> 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
```yaml
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](https://github.com/filip26/iron-vc-api/blob/33004560eafb913ea812e7883d742acaea6da59f/src/main/appengine/app.yaml)
4. Compile and deploy
```bash
> ./bin/deploy.sh
```## Resources
* [Iron Verifiable Credentials](https://github.com/filip26/iron-verifiable-credentials)
* [Verifiable Credentials HTTP API](https://w3c-ccg.github.io/vc-api/)
* [https://github.com/w3c-ccg/vc-api/](https://github.com/w3c-ccg/vc-api/)## Sponsors
## Commercial Support
Commercial support is available at [email protected]