Releases: web-eid/web-eid-authtoken-validation-java
v3.1.1
v3.1.1 is a bug fix and maintenance release that fixes OcspService.validateResponderCertificate()
to use system time for validation and makes SubjectCertificateNotRevokedValidator
thread-safe.
What's Changed
- Use system time in OcspService.validateResponderCertificate() by @mrts in #64
- Make SubjectCertificateNotRevokedValidator thread-safe by @mrts in #69
- Fix expired test certificate in AuthTokenSignatureTest by @mrts in #71
- Bump version to 3.1.1 and update dependencies by @mrts in #70
Full Changelog: v3.1.0...v3.1.1
v3.1.0
Minor backwards-incompatible changes
Although we adhere to semantic versioning principles, the following backwards-incompatible changes are included in the minor version 3.1.0. The updates are primarily structural and cosmetic rather than essential functionality changes, therefore we consider them compatible with a minor version increment.
Maven group ID updated to eu.webeid
The Maven group ID has been changed from org.webeid
to eu.webeid
. This change aligns with the package namespace, domain of the official project website and emphasizes the focus on European Union eID cards.
Optional
return values in CertificateData
The certificate subject field extraction methods in the CertificateData
utility class now return Optional<String>
instead of String
. This change clarifies when a field is absent as opposed to when a certificate parsing error occurs. Users of these methods must now check for Optional<String>
presence with isPresent()
or using methods like orElse()
or orElseThrow()
to handle missing values.
What's changed
- Use java 17 for SonarCloud by @metsma in #49
- Encode correctly OCSP NONCE extension by @metsma in #51
- Nonce support was added to EstEID 2015 by @metsma in #52
- Update copyright year by @metsma in #57
- Update JJWT to version 0.12 and use Jackson ObjectReader, update other dependencies by @mrts in #58
- fix: use system time in OcspResponseValidator.validateCertificateStatusUpdateTime() by @mrts in #55
- build(deps): bump org.bouncycastle:bcprov-jdk18on from 1.77 to 1.78 by @dependabot in #61
- Use Optional in CertificateData by @mrts in #60
- Validate relevant CA only by @mrts in #59
- Fix incorrect groupId and challenge token code example in README by @zutnop in #53
- Update group ID to eu.webeid.security, amend REAME by @mrts in #63
- Bump version to 3.1.0 by @mrts in #62
New contributors
Full Changelog: v3.0.1...v3.1.0
v3.0.1
v3.0.1 is a minor maintenance release that includes several dependency upgrades, most importantly BouncyCastle and jackson-databind. Additionally, it features adjustment of the OCSP nonce length to 32 bytes, enhancements in the build process to generate source and Javadoc JARs alongside the library JAR and a fix to an expired certificate in tests.
Full changelog: v3.0.0...v3.0.1.
Packages
The release Maven package along with source and Javadoc JARs is available in the GitLab Package Repository.
v3.0.0
Changes
v3.0.0 is a major release that requires Java 11. It uses the built-in HttpClient instead of OkHttpClient for OCSP requests, OkHttpClient dependency is no longer included. The public API has not changed.
If needed, you can continue using OkHttpClient by implementing the OcspClient
interface with OkHttpClient and inject the implementation using the AuthTokenValidatorBuilder.withOcspClient()
method.
Full changelog: v2.1.2...v3.0.0.
Packages
The release Maven package is available in the GitLab Package Repository.
v2.1.2
Changes
v2.1.2 is a minor maintenance release, bumping jackson-databind from 2.13.4.1 to 2.13.4.2 and adding other minor changes.
Full changelog: v2.1.1...v2.1.2.
Packages
The release Maven package is available in the GitLab Package Repository.
v2.1.1
Changes
Bump jackson-databind from 2.13.4 to 2.13.4.1.
Packages
The release Maven package is available in the GitLab Package Repository.
v2.1.0
Changes
- Allow overriding the OCSP client with
AuthTokenValidatorBuilder.withOcspClient()
. This gives the possibility to either configure the request timeouts, proxies etc of theOkHttpClient
instance used byOkHttpOcspClient
or provide an implementation that uses an altogether different HTTP client, for example the built-inHttpClient
provided by Java 9+. - Remove the Guava dependency that was used in only a few places.
Full list of changes is in the v2.1.0 milestone.
Packages
Maven package is available in the GitLab Package Repository.
v2.0.1
Changes
- allow more than one responder certificate in the OCSP response.
Full list of changes is in the v2.0.1 milestone.
Packages
Maven package is available in the GitLab Package Repository.
v2.0.0
v2.0.0 is a major backwards incompatible release.
In version 1, the generated challenge nonces were stored in a JSR107 compatible cache. However, in case the website had a CSRF vulnerability, this made the solution vulnerable to forged login attacks. In version 2, a session-backed challenge nonce store must be used instead to mitigate this attack.
The Web eID authentication token format changed in version 2. In version 1, the authentication token was in the OpenID X509 ID Token (JWT) format in order to be compatible with the standard OpenID Connect ID Token specification. The JWT format was found out to be undesirable, as it implies that the claims presented in the Web eID authentication token can be trusted and processed, while they actually cannot be trusted. Therefore a custom JSON-based format was adopted for the Web eID authentication token in version 2.
Detailed overview of the changes and upgrade instructions are available here.
Changes
See the list of changes in the v2.0.0 milestone.
Backwards incompatible changes
- the Maven group ID and package namespace changed from
org.webeid
toeu.webeid
, - a session-backed challenge nonce store that implements the
ChallengeNonceStore
interface is required instead of a JSR107 cache, - usages of the
withNonceCache()
method should be removed, - authentication token validation method signature has changed,
CertUtil
is renamed intoCertificateData
.
See upgrade instructions for details.
Packages
The v2.0.0 Maven package is available in the GitLab Package Repository.
v2.0.0-rc1
refactor(challenge): change ChallengeNonceStore type from abstract cl…