Skip to main content

Software Dependencies (e.g., .NET, Java, Docker, etc.)

Frameworks, runtimes, and tools required to deploy and operate Virifi’s Solution Proposal, including .NET, Java, and Docker.

Updated over 8 months ago

Overview

This article outlines the core software dependencies and runtime environments needed to deploy and operate Virifi’s Solution Proposal. These dependencies support both cloud and on-premise installations, including integration with CBJ PKI and EU DSS-based signature engines.


Core Dependencies

Component

Version

Purpose

Java Runtime Environment (JRE)

11 or 17 (LTS)

Required for DSS Signature Service

.NET Runtime

.NET 6.0 LTS

Required for admin tools, CLI agents, or integration SDKs

Docker Engine

20.10+

Containerization of components, especially the DSS server

Docker Compose

1.29+

Local orchestration for signing microservices

Node.js (optional)

18+

Frontend or API test scaffolding where required


EU DSS Java Setup

Virifi’s Solution Proposal leverages the EU Digital Signature Services (DSS) library, an open-source ETSI-compliant toolkit developed by the EU for eIDAS trust services.

Deployment Summary:

  • Java WAR deployed in a servlet container (e.g., Tomcat)

  • Dockerized version used in demo/test environments

  • DSS used for generating PAdES, XAdES, JAdES, and validating LTA signatures

Setup Notes:

  • DSS is configured with CBJ Root and Issuer CA trust anchors

  • Signature algorithms and timestamp profiles (B, T, LT, LTA) are preloaded

  • Supports OCSP, CRL, and TSA queries


RESTful API Integration

The frontend and SDK components interact with the EU DSS backend via RESTful APIs. These APIs handle:

  • Signature creation requests

  • Signature validation and reporting

  • Timestamp application

  • Certificate path validation

All API traffic is secured via TLS and optionally mutual TLS using CBJ-issued auth certificates.


Optional Dev Tools

  • XCA – For CSR generation and test cert loading

  • Postman – For API testing

  • YubiKey Manager – For FIDO2/PIV integration

  • OpenSC – For interfacing with smartcard drivers and tokens

  • pkcs11-tool – For direct key management with HSMs


Runtime Recommendations

Component

Dev/Test

Production

Java

JDK 11

JDK 17 LTS

.NET

.NET 6.0 SDK

.NET 6.0 Runtime

Docker

Latest

Stable LTS

Logging

stdout, local logs

Syslog, centralized logging

Config Mgmt

.env files

Environment secrets manager (e.g., Vault, Key Vault)

Did this answer your question?