Skip to content

Releases: phax/phase4

v4.4.2

28 Mar 18:25

Choose a tag to compare

  • (Peppol) Extended Phase4PeppolReceiverConfiguration to support dynamic per-participant SMP resolution via ISMLInfo + ISMPURLProvider as an alternative to a fixed ISMPExtendedServiceMetadataProvider
    • New builder methods smlInfo(ISMLInfo) and smpURLProvider(ISMPURLProvider)
    • New method getOrCreateSMPClientForRecipient(IParticipantIdentifier) to dynamically create an SMP client per recipient
  • (Peppol) Extended Phase4PeppolDefaultReceiverConfiguration with static setSMLInfo(ISMLInfo) and setSMPURLProvider(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) and entsog4-ecdsa (alternative)
    • New classes ENTSOG4PMode and ENTSOG4CompatibilityValidator for v4.0 specific PMode creation and validation
    • New sender builders Phase4ENTSOGSender.builderEdDSA() and Phase4ENTSOGSender.builderECDSA() for v4.0
    • Updated Phase4ENTSOGHttpClientSettings to prefer TLS 1.3 with fallback to TLS 1.2
    • The existing entsog profile ID and Phase4ENTSOGSender.builder() remain available for v3.6 backward compatibility

Full Changelog: phase4-parent-pom-4.4.1...phase4-parent-pom-4.4.2

Dependencies required:

v4.4.1

20 Mar 12:05

Choose a tag to compare

  • 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:

v4.4.0

19 Mar 17:16

Choose a tag to compare

  • 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-edelivery2 with four profile variants:
    • edelivery2-eddsa and edelivery2-eddsa-two-corner for the Common Usage Profile (EdDSA/X25519)
    • edelivery2-ecdsa and edelivery2-ecdsa-two-corner for the Alternative Elliptic Curve Profile (ECDSA/ECDH-ES)
  • New submodule phase4-edelivery2-client with Phase4EDelivery2Sender providing preconfigured builders for both profile variants
  • New enum ECryptoKeyAgreementMethod for key agreement methods (ECDH-ES, X25519, X448)
  • New enum ECryptoKeyDerivationMethod for key derivation functions (ConcatKDF, HKDF)
  • New enum ECryptoKeyWrapAlgorithm for key wrap algorithms (AES-128/192/256, TripleDES)
  • Extended AS4CryptParams with key agreement, key derivation, and key wrap fields
    • Added convenience methods setEDelivery2KeyAgreementX25519() and setEDelivery2KeyAgreementECDHES()
  • Extended AS4Encryptor to 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 bundle to jar. The Automatic-Module-Name manifest 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:

v4.3.2

10 Mar 21:38

Choose a tag to compare

  • Updated to ph-commons 12.1.4 improves certificate revocation check caching (independent of check date time)
  • (Peppol) Extended the Phase4PeppolSendingReport with fields:
    • c3SmpUrl for the SMP URL as resolved from the DNS
    • c3CertSubjectC for the country code of the AP Certificate Subject determined from the SMP lookup
    • lookupError to summarize error details specific on SMP lookup
    • lookupException to summarize exception on SMP lookup - only occurs in combination with the lookupError
    • lookupDurationMillis to contain the duration of the SMP lookup in milliseconds
    • sendingError to summarize error details specific to AS4 sending
    • sendingDurationMillis to contain the duration of the AS4 sending in milliseconds
  • (Peppol) The incoming message processor now correctly uses the configured receiption IIdentifierFactory from Phase4PeppolDefaultReceiverConfiguration

Full Changelog: phase4-parent-pom-4.3.1...phase4-parent-pom-4.3.2

Dependencies required:

v4.3.1

04 Mar 06:15

Choose a tag to compare

  • The log lines on incoming messages about the signing and decrypting certificate now also includes the certificate issuer
  • The phase4-peppol-server-webapp demo 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:

v4.3.0

17 Feb 18:50

Choose a tag to compare

  • Extended the SPI method IAS4IncomingMessageProcessorSPI.processAS4ResponseMessage with a parameter AS4ErrorList. Backwards incompatible change
  • (Peppol) Extended the SPI method IPhase4PeppolIncomingSBDHandlerSPI.processAS4ResponseMessage with a parameter AS4ErrorList. Backwards incompatible change
  • Extended the interface method IAS4RequestHandlerErrorConsumer.onAS4ErrorMessage with an additional IAS4IncomingMessageMetadata parameter. Backwards incompatible change
  • (Peppol) Receiving messages are checking for the layout of the PartyInfo/From/PartyId and PartyInfo/To/PartyId constraints

Full Changelog: phase4-parent-pom-4.2.7...phase4-parent-pom-4.3.0

Dependencies required:

v4.2.7

12 Feb 23:33

Choose a tag to compare

  • (Peppol) Improved the error handling on invalid originalSender and finalRecipient properties was improved. See #356 - thx @mikkelbm
  • (Peppol) Improved the verification of FromPartyId and ToPartyId on 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:

v4.2.6

02 Feb 22:35

Choose a tag to compare

  • Added new class AS4CertificateOnlySignatureTrustValidator to verify signature verification only happens on certificates and not on public keys
  • (Peppol) Introduced new class Phase4PeppolAS4Servlet that uses AS4CertificateOnlySignatureTrustValidator
  • Extended IAS4IncomingMessageState with 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

New Contributors

Full Changelog: phase4-parent-pom-4.2.5...phase4-parent-pom-4.2.6

Dependencies required:

v4.2.5

27 Jan 18:14

Choose a tag to compare

  • (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:

v4.2.4

13 Jan 19:02

Choose a tag to compare

  • (Peppol) Changed the default identifier factory of Phase4PeppolDefaultReceiverConfiguration to PeppolIdentifierFactory
  • (Peppol) Fixed the consistency check between AS4 originalSender and finalRecipient for 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: