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) |
