All notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
- Switch to Smart-ID API 2.0
AuthenticationResponseValidator.validate()returns AuthenticationIdentity if validation passes. If validation fails thenSmartIdResponseValidationExceptionor its subclassCertificateLevelMismatchException(if signer's certificate is below requested level) is thrown.- Grouped exceptions thrown by library to reduce need to handle each exception individually. See Readme.md for detail info.
- Minimum Java level raised to Java 8
- Relying Party must keep a list of trusted certificates (in plain text or in a trust store).
- request.setVcChoice() was removed in Smart-ID API 2.0 and replaced by request.setAllowedInteractionsOrder();
- New parameter
allowedInteractionsOrderadded to authentication and signing requests. It replaces parameters displayText and requestProperties.vcChoice - New parameter
interactionFlowUsedadded into session status response message. - If user refuses then a dedicated exception is thrown that indicates exact screen where user pressed cancel. Thrown exception is subclass of
UserRefusedException.
- all endpoints using
NationalIdentityNumberare now removed as this functionality has been removed from Smart-ID API 2.0 - errors that the caller cannot recover from are now removed from method throws list.
- Hard-coded certificates were removed together with methods:
- SmartIdClient.useDemoEnvSSLCertificates()
- SmartIdClient.useLiveEnvSSLCertificates()
- UserSelectedWrongVerificationCodeException is now thrown when user selects wrong verification code from three-choice selection.
- Bumped jackson-databind from 2.9.10.1 to 2.9.10.4
- Updated Maven Dependency Check plugin version.
- AuthenticationRequestBuilder method withRequestProperties access modifier changed to public
- Maven wrapper to project
- CVE-2019-16943
- CVE-2019-17531
- CVE-2019-16942
- CVE-2019-16335
- CVE-2019-14540
- SSL pinning to verify, that the client is communicating with SK environment #3
- SmartIdClient.addTrustedSSLCertificates(String ...sslCertificate) - add ssl certificates when Sk starts to use new certs
- SmartIdClient.setTrustedSSLCertificates(String ...sslCertificates) - set specific ssl certificates to trust
- SmartIdClient.useDemoEnvSSLCertificates() - uses only demo env ssl certificates
- SmartIdClient.useLiveEnvSSLCertificates() - uses only live env ssl certificates
- SmartIdClient.loadSslCertificatesFromKeystore(KeyStore keyStore) - loads only the certificates from keystore
- Client configuration on different JAX-WS implementations. #22, #11
- SmartIdClient.setConfiguredClient()
- SmartIdClient.setNetworkConnectionConfig()
- Capabilities parameter (#25)
- Request properties (vcChoice) for authentication and signing (#21)
- Support for Semantics Identifier (#17)
- Document number to authentication responses (#14)
- Maven dependency check plugin for continuous security
- SpotBugs plugin for continuous bug detection
- SmartIdClient.getSmartIdConnector()
- SmartIdRequestBuilder.validateSessionResult
- MIT license to code base
- renamed SignatureSessionResponse.sessionId -> SignatureSessionResponse.sessionID
- renamed SmartIdRestConnector -> SmartIdConnector
- renamed SessionStatus.getCertificate() -> SessionStatus.getCert()
- renamed SessionSignature.getValueInBase64() -> SessionSignature.getValue()
- improved and cleaned up tests