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.
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
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)
Deployment:
The table below specifies the tools needed to deploy Inji Certify:
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.
Inji Certify is a platform designed to manage and facilitate the issuance of Verifiable Credentials (VCs). It features a modular architecture that supports both direct issuance and proxying of VCs from external sources. It interacts with external digital wallets via APIs.
This layered component diagram represents the architecture of the Inji Certify system.
The diagram is organized into four distinct layers, each representing a different aspect of the system's functionality:
API Layer:
This layer serves as the entry point for external interactions with the system.
It exposes various APIs that allow clients to interact with the underlying services.
VC Signer and Template Engine:
This layer is responsible for the creation and signing of Verifiable Credentials (VCs).
The Template Engine component within this layer handles the generation of credential templates.
The VC Signer component ensures that the credentials are properly signed and verifiable.
Keymanager Service:
This layer manages cryptographic keys used for signing and verifying credentials.
It ensures the secure storage and retrieval of keys, and handles key rotation and management tasks.
Plugin interaction:
This foundational layer consists of three plugins that provide essential services to the upper layers:
Data Provider Plugins: These plugins fetch relevant data from external sources or registries. They retrieve the necessary information and return it to Inji Certify as a JSON object. Inji Certify then utilizes this data to generate and issue the corresponding VCs..
Audit Plugin: Tracks and logs actions within the system for auditing purposes.
VC Issuance Plugin: Exposes API for VCI Issuance which internally connects with credential service and sends the Verifiable Credential (VC) issued by the service as a response.
Each layer builds upon the services provided by the layer below it, creating a modular and scalable architecture for the Inji Certify system.
Inji Certify is currently compatible and certified with the following browsers:
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
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.