Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Ellipitic Curve w/ brainpool #147

Closed
TheoGoudout opened this issue Nov 27, 2023 · 9 comments
Closed

Add support for Ellipitic Curve w/ brainpool #147

TheoGoudout opened this issue Nov 27, 2023 · 9 comments

Comments

@TheoGoudout
Copy link

TheoGoudout commented Nov 27, 2023

There is an AS4 profile called BDEW (cf. https://www.bundesnetzagentur.de/DE/Beschlusskammern/1_GZ/BK6-GZ/2021/BK6-21-282/Mitteilung02/AS4%20Profil.pdf?__blob=publicationFile&v=1) used for the energy market in Germany. This profile requires the usage of Elliptic Curve with brainpoolP256r1 algorithms (ECDSAwithSHA256, etc.) for signing and encrypting.

I've tried to configure Holodeck B2B in order to use my locally generated EC certificates with no luck so far.

Could you please consider adding support for this class of algorithms. If this is already the case, could you please add an example configuration ? I believe some people could be interested in using your application for this purpose.

Thanks

@TheoGoudout TheoGoudout changed the title Add support for Ellipitic Curve Add support for Ellipitic Curve w/ brainpool Nov 27, 2023
@sfieten
Copy link
Collaborator

sfieten commented Mar 6, 2024

Version 6.1.0 should support signing with EC based algorithms, but it does not support EC based encryption as this requires the implementation of the Key Agreement mechanism which is not part of the AS4 an/or WS-Security standards and therefore requires additional development.

We are now working on support for the EC based Diffie Hellman Key Agreement Ephemeral Static Mode mechanism in Holodeck B2B version 7.

@ilicalex
Copy link

ilicalex commented Mar 7, 2024

I am also interested to have this BDEW profile support

@ilicalex
Copy link

ilicalex commented Mar 8, 2024

If my friends and I can contribute to the open source project in order to speed up AS4 BDEW profile support in segment of EC based encryption and implementation of the Key Agreement mechanism, we will be happy to assist

@sfieten
Copy link
Collaborator

sfieten commented Apr 4, 2024

The SNAPSHOT version in the next branch now includes support for the EC based signing and Diffie-Hellman Key Agreement method for exchanging the symmetric encryption keys.

NOTES:

  1. Issue Circular dependency between Holodeck-B2B and file-backend #124 has not been fixed yet, so you need to build the interfaces, core and ebms3as4 modules first, then file-backend and then the main project again.
  2. This version is still in development and should therefore not be used in a production environment!
  3. To enable the use of Brainpool curves you also need to adjust the jdk.disabled.namedCurves property in java.security and remove the brainpool curves from the list of blocked curves.

@RobertArmic
Copy link

@sfieten, is there a possibility for you to provide the binary files for next branch? Or at least for file-backend? Your proposed workaround for circular dependency does not work (file-backend depends on holodeckb2b-ebms3as4 and some other artifacts, building just interfaces module was not enough for me to get it working).

@sfieten
Copy link
Collaborator

sfieten commented Apr 5, 2024

@RobertArmic, you're right that only buidling the interfaces module isn't enough to be able to build the file back-end project. Also the core and ebms3as4 modules need to be built. I've updated my comment to reflect this.

Regarding binaries; we only provide these for final releases which can be used in production environments. If you however would like to participate in testing of the new features, contact use via the contact form on our website.

@ilicalex
Copy link

ilicalex commented Apr 5, 2024 via email

@Dosenpfand
Copy link

@sfieten , are there already plans to release a version that contains the support for Brainpool curves and if so, what would the approximate timeline be? Thanks!

@RenateS
Copy link
Collaborator

RenateS commented Aug 30, 2024

@Dosenpfand we have planned release for beginning of September so please wait until after the weekend :-)

@sfieten sfieten closed this as completed Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants