This section offers an overview of the architecture and technologies utilized in Inji Certify, ensuring compatibility, security, and efficiency in the management of Verifiable Credentials.
Inji Certify is currently compatible and certified with the following browsers:
Sl No | OS | Version |
---|---|---|
Note: We have conducted specific testing on Ubuntu, Mac, and Windows using Google Chrome for the latest release of Inji Certify. It supports and is compatible with other operating systems and browsers, but we have specified the following list to indicate the platforms our team has thoroughly tested.
1.
Windows - Google Chrome
Version 124.0.6367.92
2.
Mac- Safari
Version 16.6 (18615.3.12.11.2)
3.
Ubuntu
Version 22.04
Inji Certify leverages the following components (from existing building blocks/products):
eSignet (v1.4.0): VCI microservice and Authentication microservice
a. eSignet service:
Implements OpenID Connect flows that help the relying party perform quick and easy integrations using pre-existing libraries for user verification.
Exposes API for VCI Issuance which internally connects with credential service and sends the Verifiable Credential (VC) issued by the service as a response
b. OIDC UI:
The user interface component of eSignet, Manages user authentication and user consent. Integrates with the REST endpoints provided by esignet-service.
c. Authenticator Plugin:
provides methods to authenticate the end-user with control of the supported authentication factors. There is a default plugin implemented for Sunbird Registry.
Certify(v0.9.0): VCI microservice
a. VCI:
Exposes API for VCI Issuance which internally connects with credential service and sends the Verifiable Credential (VC) issued by the service as a response.
b. VC Issuance Plugin:
Provides support to generate credentials from existing datasouce. There is a default plugin implemented for Sunbird Registry.
Sunbird RC (v2.0.0): Identity microservice, Schema microservice, and Cred microservice.
a. Identity Service :
The central lynchpin to maintain identities across the system. All identities in Sunbird-RC are DID-compliant and are web-resolvable. The other microservices (Credential Schema Service and Credential Service) depend on this for generating any identity.
Depends on the vault (healthy), database.
b. Credential Schema service:
Stores the schema of the Verifiable Credential along with the associated view template.
Depends on identity service, and database.
c. Credential service:
Core issuance service. Called with the payload, which is then transformed into a W3C-compliant Verifiable Credential in JSON-LD format. The payload is then signed using the private key which was generated as part of the original Issuer creation.
Depends on identity service, schema service, and database.
d. Vault Service:
To be included as a dependency along with the pg.
Hashi Corp vault is the Keystore which acts as the vault service.
Identity service is dependent on the vault service.
Stores key pairs and secrets for the issuers.
This section intends to provide an overview of the technologies and frameworks utilized to build Inji Certify.
UI & Rest end points
The table below outlines the frameworks, tools, and technologies employed by Inji Certify
Deployment:
The table below specifies the tools needed to deploy Inji Certify:
Tool/Technology
Version
Description
License
18.2v
React lets you build user interfaces out of individual pieces called components. Used for OIDC UI
2.3.6.RELEASE
Spring Boot is an open-source Java framework used to create a Micro Service. Spring boot is used for programming standalone, production-grade Spring-based applications with minimal effort. Used for esignet-services
Apache License 2.0
9.5.0
Nest (NestJS) is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with and fully supports TypeScript. Used for Sunbird credentialing services
11
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. Used in eSignet-services
12.1V
PostgreSQL is an advanced, enterprise-class open-source relational database that supports both SQL (relational) and JSON (non-relational) querying.
PostgreSQL License (free and open-source, permissive)
Tool/Technology
Version
Description
License
26 and above
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.
2.25 and above
Docker Compose is a tool for defining and running multi-container applications. It is the key to unlocking a streamlined and efficient development and deployment experience.
Apache License 2.0
depends on Inji-web version
Helm helps you manage Kubernetes applications - helps define, install, and upgrade even the most complex Kubernetes application. Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.