Releases: phax/phase4
v4.4.2
- (Peppol) Extended
Phase4PeppolReceiverConfigurationto support dynamic per-participant SMP resolution viaISMLInfo+ISMPURLProvideras an alternative to a fixedISMPExtendedServiceMetadataProvider- New builder methods
smlInfo(ISMLInfo)andsmpURLProvider(ISMPURLProvider) - New method
getOrCreateSMPClientForRecipient(IParticipantIdentifier)to dynamically create an SMP client per recipient
- New builder methods
- (Peppol) Extended
Phase4PeppolDefaultReceiverConfigurationwith staticsetSMLInfo(ISMLInfo)andsetSMPURLProvider(ISMPURLProvider)methods - (ENTSOG) Added support for ENTSOG AS4 v4.0 profile (EdDSA/X25519 and ECDSA/ECDH-ES). See #296
- New profile IDs
entsog4-eddsa(primary) andentsog4-ecdsa(alternative) - New classes
ENTSOG4PModeandENTSOG4CompatibilityValidatorfor v4.0 specific PMode creation and validation - New sender builders
Phase4ENTSOGSender.builderEdDSA()andPhase4ENTSOGSender.builderECDSA()for v4.0 - Updated
Phase4ENTSOGHttpClientSettingsto prefer TLS 1.3 with fallback to TLS 1.2 - The existing
entsogprofile ID andPhase4ENTSOGSender.builder()remain available for v3.6 backward compatibility
- New profile IDs
Full Changelog: phase4-parent-pom-4.4.1...phase4-parent-pom-4.4.2
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.5
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.5
- ph-oton-io/ph-oton-audit/ph-oton-security 10.2.2
- ph-masterdata/ph-tenancy 8.1.1
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.4.0
- phive 12.0.1 [Peppol only]
- phive-rules-peppol 4.2.5 [Peppol only]
- peppol-reporting-api 4.1.1 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.4.1
- Updated to peppol-commons 12.4.0
- (Peppol) This is the first version that prefers the new OpenPeppol SML URLs over the old EC SML ones for SMP lookups
Full Changelog: phase4-parent-pom-4.4.0...phase4-parent-pom-4.4.1
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.5
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.4
- ph-oton-io/ph-oton-audit/ph-oton-security 10.2.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.4.0
- phive 12.0.1 [Peppol only]
- phive-rules-peppol 4.2.3 [Peppol only]
- peppol-reporting-api 4.1.1 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.4.0
- Added support for the eDelivery AS4 2.0 specification (published December 2024 by the EC)
- See [[Profile eDelivery2]] for further details
- New submodule
phase4-profile-edelivery2with four profile variants:edelivery2-eddsaandedelivery2-eddsa-two-cornerfor the Common Usage Profile (EdDSA/X25519)edelivery2-ecdsaandedelivery2-ecdsa-two-cornerfor the Alternative Elliptic Curve Profile (ECDSA/ECDH-ES)
- New submodule
phase4-edelivery2-clientwithPhase4EDelivery2Senderproviding preconfigured builders for both profile variants - New enum
ECryptoKeyAgreementMethodfor key agreement methods (ECDH-ES, X25519, X448) - New enum
ECryptoKeyDerivationMethodfor key derivation functions (ConcatKDF, HKDF) - New enum
ECryptoKeyWrapAlgorithmfor key wrap algorithms (AES-128/192/256, TripleDES) - Extended
AS4CryptParamswith key agreement, key derivation, and key wrap fields- Added convenience methods
setEDelivery2KeyAgreementX25519()andsetEDelivery2KeyAgreementECDHES()
- Added convenience methods
- Extended
AS4Encryptorto support key agreement-based encryption (X25519/ECDH-ES + HKDF + AES KeyWrap) as an alternative to RSA-OAEP key transport - Successfully tested against the EC eDelivery2 AS4 Security Validator
- Removed OSGi bundle support from all submodules - packaging changed from
bundletojar. TheAutomatic-Module-Namemanifest entry is preserved for JPMS compatibility.
What's Changed
Full Changelog: phase4-parent-pom-4.3.2...phase4-parent-pom-4.4.0
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.5
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.4
- ph-oton-io/ph-oton-audit/ph-oton-security 10.2.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.12
- phive 12.0.1 [Peppol only]
- phive-rules-peppol 4.2.3 [Peppol only]
- peppol-reporting-api 4.1.1 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.3.2
- Updated to ph-commons 12.1.4 improves certificate revocation check caching (independent of check date time)
- (Peppol) Extended the
Phase4PeppolSendingReportwith fields:c3SmpUrlfor the SMP URL as resolved from the DNSc3CertSubjectCfor the country code of the AP Certificate Subject determined from the SMP lookuplookupErrorto summarize error details specific on SMP lookuplookupExceptionto summarize exception on SMP lookup - only occurs in combination with thelookupErrorlookupDurationMillisto contain the duration of the SMP lookup in millisecondssendingErrorto summarize error details specific to AS4 sendingsendingDurationMillisto contain the duration of the AS4 sending in milliseconds
- (Peppol) The incoming message processor now correctly uses the configured receiption
IIdentifierFactoryfromPhase4PeppolDefaultReceiverConfiguration
Full Changelog: phase4-parent-pom-4.3.1...phase4-parent-pom-4.3.2
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.4
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.3
- ph-oton-io/ph-oton-audit/ph-oton-security 10.2.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.12
- phive 12.0.0 [Peppol only]
- phive-rules-peppol 4.2.1 [Peppol only]
- peppol-reporting-api 4.1.0 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.3.1
- The log lines on incoming messages about the signing and decrypting certificate now also includes the certificate issuer
- The
phase4-peppol-server-webappdemo application was updated to have full outbound proxy support by default - (Peppol) Added an undocumented, temporary configuration property to disable rejecting messages on non-compliance
Full Changelog: phase4-parent-pom-4.3.0...phase4-parent-pom-4.3.1
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.3
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.3
- ph-oton-io/ph-oton-audit/ph-oton-security 10.2.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.11
- phive 12.0.0 [Peppol only]
- phive-rules-peppol 4.2.1 [Peppol only]
- peppol-reporting-api 4.1.0 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.3.0
- Extended the SPI method
IAS4IncomingMessageProcessorSPI.processAS4ResponseMessagewith a parameterAS4ErrorList. Backwards incompatible change - (Peppol) Extended the SPI method
IPhase4PeppolIncomingSBDHandlerSPI.processAS4ResponseMessagewith a parameterAS4ErrorList. Backwards incompatible change - Extended the interface method
IAS4RequestHandlerErrorConsumer.onAS4ErrorMessagewith an additionalIAS4IncomingMessageMetadataparameter. Backwards incompatible change - (Peppol) Receiving messages are checking for the layout of the
PartyInfo/From/PartyIdandPartyInfo/To/PartyIdconstraints
Full Changelog: phase4-parent-pom-4.2.7...phase4-parent-pom-4.3.0
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.2
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.1
- ph-oton-io/ph-oton-audit/ph-oton-security 10.1.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.9
- phive 11.1.1 [Peppol only]
- phive-rules-peppol 4.1.7 [Peppol only]
- peppol-reporting-api 4.1.0 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.2.7
- (Peppol) Improved the error handling on invalid
originalSenderandfinalRecipientproperties was improved. See #356 - thx @mikkelbm - (Peppol) Improved the verification of
FromPartyIdandToPartyIdon the sending side, to follow the Peppol Seat-ID regular expression.
Full Changelog: phase4-parent-pom-4.2.6...phase4-parent-pom-4.2.7
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.2
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.1
- ph-oton-io/ph-oton-audit/ph-oton-security 10.1.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.8
- phive 11.1.1 [Peppol only]
- phive-rules-peppol 4.1.7 [Peppol only]
- peppol-reporting-api 4.1.0 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.2.6
- Added new class
AS4CertificateOnlySignatureTrustValidatorto verify signature verification only happens on certificates and not on public keys - (Peppol) Introduced new class
Phase4PeppolAS4Servletthat usesAS4CertificateOnlySignatureTrustValidator - Extended
IAS4IncomingMessageStatewith the possibility to store the signing and decrypting certificate reference type - (Peppol) The default inbound Peppol processor added a check that both signing and decrypting certificates are provided as direct references
- (Peppol) The scheduled time to transmit reports to OpenPeppol can be customized. See #355 - thx @alvarolivie
What's Changed
- Add configurable reporting date to peppol server by @alvarolivie in #355
New Contributors
- @alvarolivie made their first contribution in #355
Full Changelog: phase4-parent-pom-4.2.5...phase4-parent-pom-4.2.6
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.2
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.1
- ph-oton-io/ph-oton-audit/ph-oton-security 10.1.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.8
- phive 11.1.1 [Peppol only]
- phive-rules-peppol 4.1.5 [Peppol only]
- peppol-reporting-api 4.1.0 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.2.5
- (Peppol) The verification of Peppol Participant Identifier Values became more strict to be 100% aligned with the Peppol Policy for use of Identifiers 4.4.0
- Added the possibility to set the incoming unique ID in class
AS4IncomingMessageMetadata - Made method
AS4RequestHandler.getMessageMetadata()public - Made the CRL download more resilient (via ph-commons 12.1.2 update)
- The default revocation check was changed from "only CRL" to "CRL before OCSP" (via ph-commons 12.1.2 update)
Full Changelog: phase4-parent-pom-4.2.4...phase4-parent-pom-4.2.5
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.2
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.1
- ph-oton-io/ph-oton-audit/ph-oton-security 10.1.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.7
- phive 11.1.1 [Peppol only]
- phive-rules-peppol 4.1.5 [Peppol only]
- peppol-reporting-api 4.1.0 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x
v4.2.4
- (Peppol) Changed the default identifier factory of
Phase4PeppolDefaultReceiverConfigurationtoPeppolIdentifierFactory - (Peppol) Fixed the consistency check between AS4
originalSenderandfinalRecipientfor case insensitivity - (Peppol) Deprecated the possibility to disable the check that country C1 element is optional - the feature is required long time
Full Changelog: phase4-parent-pom-4.2.3...phase4-parent-pom-4.2.4
Dependencies required:
- ph-bc/ph-collection/ph-commons/ph-dao/ph-datetime/ph-jaxb/ph-json/ph-scopes/ph-security/ph-settings/ph-xml 12.1.1
- ph-xsds-xmldsig 4.1.0
- ph-http/ph-httpclient/ph-mail/ph-network/ph-servlet/ph-useragent/ph-web 11.2.1
- ph-oton-io/ph-oton-audit/ph-oton-security 10.1.2
- ph-masterdata/ph-tenancy 8.1.0
- peppol-commons/peppol-id/peppol-sbdh/peppol-smp-client 12.3.6
- phive 11.1.1 [Peppol only]
- phive-rules-peppol 4.1.3 [Peppol only]
- peppol-reporting-api 4.1.0 [Peppol only]
- ph-xhe 5.1.0 [DBNAlliance only]
- angus-activation 2.0.3
- angus-mail 2.0.5
- httpclient 5.6
- BouncyCastle 1.83
- WSS4J 4.0.1
- XMLSec 4.0.4
- Servlet API 6.0.x
- JAXB 4.0.x
- SLF4J 2.0.x