The following sections provide advice and prerequisites for getting started with EJBCA development.

Development Tools

Required development tools:

  • An operating system that can run Java (for example Linux, OSX, or Windows). Most developers use Ubuntu/Debian.
  • Eclipse JEE edition, OpenJDK.
  • Apache Ant 1.10.x (with all the extras that come with the zip from apache.org or 'ant-optional' Ubuntu package).
  • A supported application server (JBoss EAP or WildFly).
  • A favorite database supported by EJBCA that is easy to work with (for example, MariaDB, MySQL, or PostgreSQL).
  • A virtualization solution for testing additional combinations of application servers and databases external OCSP responders, etc.

Changes that affect the database require more databases to test with, while changes that affect the EJBs or setup require additional application servers etc.

What you need to know to develop EJBCA

ou need to have an understanding of the following to successfully develop EJBCA:

  • Experience with the development tools listed above.
  • Java
  • Jakarta Enterprise (previous JEE) excluding message beans
  • Java Persistence API
  • Servlets, Java Server Faces (and still a little Java Server Pages)
  • SQL databases
  • Web Services

Sending Patches

We are glad to accept patches. If you are not a committer in our Git, you can send us patches either in diff format (git diff), created with Eclipse, or pull requests. You can also send us complete files that you changed if only a few changes since we can view the diffs in Eclipse.

Follow these guidelines when you submit patches:

  • Keep the patch limited and only change the parts related to your patch.
  • Do not change other lines, such as whitespace, adding line breaks to Java doc etc, as that will make it extremely hard for us to review the patch.