mcsherrylabs / iron-verifiable-credentials

A Verifiable Credentials Processor & API

Home Page:https://apicatalog.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Iron Verifiable Credentials Processor

An implementation of the Verifiable Credentials model and processing in Java.

Java 17 CI Android (Java 8) CI Codacy Badge Codacy Badge Maintainability Rating Maven Central License

Features

Installation

Maven

<!-- Java 17 -->
<dependency>
    <groupId>com.apicatalog</groupId>
    <artifactId>iron-verifiable-credentials</artifactId>
    <version>0.8.1</version>
</dependency>

or

<!-- Android 12 or higher (API Level >=31) -->
<dependency>
    <groupId>com.apicatalog</groupId>
    <artifactId>iron-verifiable-credentials-jre8</artifactId>
    <version>0.8.1</version>
</dependency>

Gradle

compile group: 'com.apicatalog', name: 'iron-verifiable-credentials-jre8', version: '0.8.1'

Documentation

javadoc

Usage

Please use together with a cryptosuite(s) of your choice, e.g. Ed25519Signature2020. Read the suite(s) documentation for specifics.

Verifying

try {
  Vc.verify(credential|presentation, suites)
      
    // optional
    .base(...)
    .loader(documentLoader) 
    .statusVerifier(...)
    .useBundledContexts(true|false)

    // custom | suite specific | parameters
    .param(..., ....)

    // assert document validity
    .isValid();
    
} catch (VerificationError | DataError e) {
  ...
}

Issuing

// proof options
var options = suite.createOptions()...;

Vc.sign(credential|presentation, keys, options)

   // optional
   .base(...)
   .loader(documentLoader) 
   .statusVerifier(...)
   .useBundledContexts(true|false)

   // return signed document in a compacted form
   .getCompacted(context);

Contributing

All PR's welcome!

Building

Fork and clone the project repository.

Java 17

> cd iron-verfiable-credentials
> mvn clean package

Java 8

> cd iron-verfiable-credentials
> mvn -f pom_jre8.xml clean package

Resources

Sponsors

Commercial Support

Commercial support is available at filip26@gmail.com

About

A Verifiable Credentials Processor & API

https://apicatalog.com

License:Apache License 2.0


Languages

Language:Java 100.0%