REST API service for verifying electronic signatures using the EU DSS library.
6.0K
REST service for eIDAS electronic-signature verification (PAdES, CAdES, XAdES, JAdES, ASiC) built on Spring Boot 3.5 and the EU DSS 6.4 library, with EU Trusted List (LOTL/TSL) management.
This page is a quick reference for running the published image. The complete, diagram-rich usage guide lives in the source repositoryโ .
BASIC / STANDARD / STRICT) with per-request
policy overrides.X-API-Key) and/or OAuth2 JWT; roles
STANDARD and PRIVILEGED.Supported formats: PAdES (PDF), CAdES (CMS), XAdES (XML), JAdES (JSON), ASiC-S/ASiC-E.
toresoft/sign-verifyalpine:3.21 with a minimal custom jlink runtime (Java 21), runs
as non-root (uid:gid 10001)8080/var/lib/sign-verify (mount a volume here)| Tag | Meaning |
|---|---|
latest | Latest build from the default branch |
<version> | Released version (Git tag, e.g. 0.9.21) |
<short-sha> | Exact commit build |
A valid APP_SECRET_MASTER_KEY (base64 of 32 bytes) is required; generate one
with openssl rand -base64 32. By default OAuth is enabled, so either provide
APP_SECURITY_OAUTH_ISSUER_URI or disable it with
APP_SECURITY_OAUTH_ENABLED=false.
docker run -d --name sign-verify -p 8080:8080 \
-e SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/signverify \
-e SPRING_DATASOURCE_USERNAME=signverify \
-e SPRING_DATASOURCE_PASSWORD=secret \
-e APP_SECRET_MASTER_KEY="$(openssl rand -base64 32)" \
-e APP_SECURITY_OAUTH_ENABLED=false \
-v svdata:/var/lib/sign-verify \
toresoft/sign-verify:latest
On first start, if no PRIVILEGED API key exists, a bootstrap key is
generated and written to /var/lib/sign-verify/bootstrap-api-key.txt
(mode 0600) โ read it, create your own keys, then remove it:
docker exec sign-verify cat /var/lib/sign-verify/bootstrap-api-key.txt
A hardened, production-oriented docker-compose.prod.yml (read-only root FS,
dropped capabilities, resource limits) is provided in the
repositoryโ .
| Variable | Description | Default |
|---|---|---|
SPRING_DATASOURCE_URL | JDBC database URL | in-memory H2 |
SPRING_DATASOURCE_USERNAME / _PASSWORD | DB credentials | sa / (empty) |
APP_SECRET_MASTER_KEY | Secret-encryption key, base64 of 32 bytes | (required) |
APP_SECURITY_OAUTH_ENABLED | Enable the OAuth2 JWT resource server | true |
APP_SECURITY_OAUTH_ISSUER_URI | OIDC issuer (required when OAuth enabled) | (empty) |
APP_OJ_KEYSTORE_PASSWORD | EU Official Journal keystore password (LOTL) | (empty) |
SERVER_PORT | HTTP port | 8080 |
See the full list and details in the configuration guideโ .
GET /actuator/health/livenessGET /actuator/health/readiness (UP only once the Trusted Lists
are loaded)GET /actuator/prometheusOpenAPI contract is served at /v3/api-docs, Swagger UI at
/swagger-ui/index.html. Endpoint reference:
signature verificationโ ยท
authenticationโ ยท
trusted certificatesโ .
LGPL-3.0. See NOTICEโ for third-party attributions.
Content type
Image
Digest
sha256:b2055f528โฆ
Size
154.7 MB
Last updated
13 days ago
docker pull toresoft/sign-verify