Getting Started With EJBCA Development

Development Tools

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

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

What you need to know to develop EJBCA

The tools described in the last section

  • Public Key Infrastructure and related technologies
  • Java
  • Java Enterprise Edition, excluding message beans
  • Java Persistence API
  • Servlets, Java Server Faces (and still Java Server Pages)
  • SQL databases
  • Web Services

Sending Patches

If you are not a committer in SVN we are glad to accept patches. You can send us patches either in diff format (svn diff) or created with Eclipse. You can also send us you complete files that you changed, we can see the diffs in Eclipse.

Follow these guidelines when submitting patches:

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