Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
aab3725
build(deps-dev): bump org.assertj:assertj-core from 3.27.3 to 3.27.7
dependabot[bot] Jan 26, 2026
32533e1
build(deps): bump digidoc4j version to 6.1.0
svenzik Feb 2, 2026
32542d2
build(deps): versions of dependencies
svenzik Feb 2, 2026
c30122f
build(deps): bump version to 3.2.1-SNAPSHOT
svenzik Feb 3, 2026
d0b3e9e
build: install latest library during example build
svenzik Feb 3, 2026
5b045cd
Remove plucky and add questing support
kristelmerilain Feb 6, 2026
c6abb2f
build: Run scheduled sonar analysis as otherwise token will expire in…
svenzik Mar 23, 2026
577bc70
build(deps): bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84
dependabot[bot] Apr 18, 2026
c1fe839
build(dep): bump DigiDoc4j to version 6.1.1
svenzik Apr 24, 2026
6d17656
build(deps): bump spring-boot to 3.5.13 and force thymeleaf to 3.1.4.…
svenzik Apr 24, 2026
f14e129
build(deps): bump dependencies to most recent versions, simplify warn…
svenzik May 11, 2026
c8e5d60
build(release): release of 3.2.1
svenzik May 19, 2026
13d2f45
example: change Web eID application packages' version to 2.9.0 (#114)
mrts May 22, 2026
96b460b
build(release): release of 3.2.2
svenzik May 22, 2026
783cc3a
build: bump docker version to 3.2.2
svenzik May 29, 2026
887f11d
Add resolute support (#120)
kristelmerilain Jun 10, 2026
7039e7f
build(deps): bump com.fasterxml.jackson.core:jackson-databind
dependabot[bot] Jun 30, 2026
42def06
Clarify how URL should be encoded
metsma May 25, 2026
a9221ed
Remove questing support (#127)
kristelmerilain Jul 14, 2026
8ab06e0
Update mock dates in tests
aarmam Jul 14, 2026
07f35b9
build(deps): bump jackson-databind to 2.22.1
mrts Jul 14, 2026
4c2cc54
Update mock dates in example app tests
aarmam Jul 16, 2026
5d9cb3b
example: change Web eID application packages' version to 2.10.0, upda…
mrts Aug 24, 2026
61f23cd
Check copyright headers and add missing headers
metsma Sep 15, 2026
7b8f2a0
Use plaform OCSP implementation by default, move custom OCSP implemen…
mrts Dec 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/gitlab-mvn-settings.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<!-- SPDX-FileCopyrightText: Estonian Information System Authority -->
<!-- SPDX-License-Identifier: MIT -->
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
<servers>
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

name: CodeQL code analysis

on:
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/copyright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

name: Copyright
on: [push, pull_request]
permissions:
contents: read
jobs:
copyright:
name: Check copyright headers
uses: web-eid/.github/.github/workflows/copyright.yml@9ea5bd0c816309493524bce9f96024ed3cc6ff1d # main

5 changes: 4 additions & 1 deletion .github/workflows/coverity-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

name: Coverity analysis

on:
Expand All @@ -20,7 +23,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 11
java-version: 17

- name: Cache Maven packages
uses: actions/cache@v4
Expand Down
17 changes: 8 additions & 9 deletions .github/workflows/maven-build-example.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

name: Maven build example

on:
Expand All @@ -10,10 +13,6 @@ on:
- 'example/**'
- '.github/workflows/*example*'

defaults:
run:
working-directory: ./example

jobs:
build:
runs-on: ubuntu-latest
Expand All @@ -33,9 +32,9 @@ jobs:
key: ${{ runner.os }}-m2-v17-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-v17-${{ secrets.CACHE_VERSION }}

- name: Build
run: mvn --batch-mode compile

- name: Test and package
run: mvn --batch-mode package
- name: Install library
run: mvn -B -ntp install

- name: Build example project
working-directory: ./example
run: mvn -B -ntp package
5 changes: 4 additions & 1 deletion .github/workflows/maven-build.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

name: Maven build

on:
Expand All @@ -20,7 +23,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 11
java-version: 17

- name: Cache Maven packages
uses: actions/cache@v4
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/maven-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

name: Deploy to GitLab Package Repository # Github Packages

on:
Expand All @@ -14,7 +17,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 11
java-version: 17

- name: Cache Maven packages
uses: actions/cache@v4
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/sonarcloud-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

name: SonarCloud code analysis

on:
Expand All @@ -9,6 +12,8 @@ on:
paths-ignore:
- 'example/**'
- '.github/workflows/*example*'
schedule:
- cron: '45 6 8-14,22-28 * 1'

jobs:
analyze:
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020-2025 Estonian Information System Authority
Copyright (c) Estonian Information System Authority

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,14 @@ import eu.webeid.security.validator.AuthTokenValidatorBuilder;
...
```

The site origin configured with `withSiteOrigin()` must match the origin string
signed by the Web eID application. Use the [ASCII serialization of the
origin](https://html.spec.whatwg.org/multipage/browsers.html#ascii-serialisation-of-an-origin)
as specified by the [Web eID architecture
document](https://github.com/web-eid/web-eid-system-architecture-doc#web-eid-authentication-token-specification).
For internationalized domain names, configure the Punycode form, for example
`https://xn--pike-loa.ee` for `https://päike.ee`.

## 6. Add a REST endpoint for issuing challenge nonces

A REST endpoint that issues challenge nonces is required for authentication. The endpoint must support `GET` requests.
Expand Down Expand Up @@ -262,7 +270,7 @@ The website back end must lookup the challenge nonce from its local store using

As described in section *[5. Configure the authentication token validator](#5-configure-the-authentication-token-validator)*, the mandatory authentication token validator configuration parameters are the website origin and trusted certificate authorities.

**Origin** must be the URL serving the web application. Origin URL must be in the form of `"https://" <hostname> [ ":" <port> ]` as defined in [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin) and not contain path or query components. **Note that the `origin` URL must not end with a slash `/`**.
**Origin** must be the URL serving the web application. Origin URL must be in the form of `"https://" <hostname> [ ":" <port> ]` as defined in [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin) and not contain path or query components. **Note that the `origin` URL must not end with a slash `/`**. The configured origin must use the ASCII serialization that is signed by the Web eID application. For internationalized domain names, use the Punycode form, for example `https://xn--pike-loa.ee` instead of `https://päike.ee`.

The **trusted certificate authority certificates** are used to validate that the user certificate from the authentication token and the OCSP responder certificate is signed by a trusted certificate authority. Intermediate CA certificates must be used instead of the root CA certificates so that revoked CA certificates can be removed. Trusted certificate authority certificates configuration is described in more detail in section *[4. Add trusted certificate authority certificates](#4-add-trusted-certificate-authority-certificates)*.

Expand Down
3 changes: 3 additions & 0 deletions example/.prettierrc.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

trailingComma: "none"
useTabs: false
tabWidth: 4
Expand Down
2 changes: 1 addition & 1 deletion example/LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020-2023 Estonian Information System Authority
Copyright (c) Estonian Information System Authority

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
5 changes: 3 additions & 2 deletions example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ web-eid-auth-token:
local-origin: "https://<<NGROK HOSTNAME HERE>>"
```

**Note that the origin URL must not end with a slash `/`**.
**Note that the origin URL must not end with a slash `/`**. For internationalized
domain names, use the ASCII/Punycode origin form in `local-origin`, for example
`https://xn--pike-loa.ee` for `https://päike.ee`.

### 3. Configure the trusted certificate authority certificates

Expand Down Expand Up @@ -262,4 +264,3 @@ When running the application with the `dev` profile in test mode, you need to up
### Why do I get the `401 Unauthorized "Authentication failed: Web eID token validation failed"` response during authentication?

One possible reason is that you are using the test ID card on a site that is running in production mode or, vice-versa, a real ID card on a site that is running in test mode; or any other ID card whose certificate authority has not been added to the list of trusted certificate authorities. There will be a `CertificateNotTrustedException` in the logs in this case.

5 changes: 4 additions & 1 deletion example/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

version: '2'
services:
web-eid-springboot-example:
image: web-eid-springboot-example:3.2.0
image: web-eid-springboot-example:3.2.2
restart: always
environment:
JAVA_TOOL_OPTIONS: '-Dspring.profiles.active=prod'
Expand Down
17 changes: 11 additions & 6 deletions example/pom.xml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- SPDX-FileCopyrightText: Estonian Information System Authority -->
<!-- SPDX-License-Identifier: MIT -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.3</version>
<version>3.5.14</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>eu.webeid.example</groupId>
<artifactId>web-eid-springboot-example</artifactId>
<version>3.2.0</version>
<version>3.2.2</version>
<name>web-eid-springboot-example</name>
<description>Example Spring Boot application that demonstrates how to use Web eID for authentication and digital
signing
Expand All @@ -19,11 +21,14 @@
<properties>
<java.version>17</java.version>
<maven-surefire-plugin.version>3.5.3</maven-surefire-plugin.version>
<webeid.version>3.2.0</webeid.version>
<digidoc4j.version>6.0.1</digidoc4j.version>
<webeid.version>3.2.1</webeid.version>
<digidoc4j.version>6.1.1</digidoc4j.version>
<jmockit.version>1.44</jmockit.version> <!-- Keep version 1.44, otherwise mocking will fail. -->
<jib.version>3.4.6</jib.version>
</properties>
<jib.version>3.5.1</jib.version>

<!-- Remove in next spring-boot version when tomcat is >= 10.1.55: CVE-2026-4193, CVE-2026-4512, CVE-2026-4315 -->
<tomcat.version>10.1.55</tomcat.version>
</properties>

<dependencies>
<dependency>
Expand Down
2 changes: 2 additions & 0 deletions example/scripts/deployment/fab.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

set -eu

Expand Down
3 changes: 3 additions & 0 deletions example/scripts/deployment/fabfile.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Estonian Information System Authority
# SPDX-License-Identifier: MIT

import os

from fabric import task
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,5 @@
/*
* Copyright (c) 2020-2025 Estonian Information System Authority
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
// SPDX-FileCopyrightText: Estonian Information System Authority
// SPDX-License-Identifier: MIT

package eu.webeid.example;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,5 @@
/*
* Copyright (c) 2020-2025 Estonian Information System Authority
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
// SPDX-FileCopyrightText: Estonian Information System Authority
// SPDX-License-Identifier: MIT

package eu.webeid.example.config;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,5 @@
/*
* Copyright (c) 2020-2025 Estonian Information System Authority
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
// SPDX-FileCopyrightText: Estonian Information System Authority
// SPDX-License-Identifier: MIT

package eu.webeid.example.config;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,5 @@
/*
* Copyright (c) 2020-2025 Estonian Information System Authority
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
// SPDX-FileCopyrightText: Estonian Information System Authority
// SPDX-License-Identifier: MIT

package eu.webeid.example.config;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,5 @@
/*
* Copyright (c) 2020-2025 Estonian Information System Authority
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
// SPDX-FileCopyrightText: Estonian Information System Authority
// SPDX-License-Identifier: MIT

package eu.webeid.example.config;

Expand Down
Loading
Loading