aboutsummaryrefslogtreecommitdiff
path: root/docs/DEVELOPING.md
blob: 863361bc729d272c929a00ef50f8f675aaab40b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Developing ECTester

This document describes some development guidelines and how-tos regarding
developing the ECTester tool itself.

## Developing ECTester standalone modules

 - Create Java classes inheriting Native{ECPrivateKey,ECPublicKey,KeyPairGeneratorSpi,KeyAgreementSpi,SignatureSpi}.
 - Add those classes to `build-standalone.xml` header generation.
 - Generate `native.h` headers for new classes using `build-standalone.xml`.
 - Create module file (C/C++) in `cz/crcs/ectester/standalone/libs/jni`, and add it to the Makefile.
 - Implement the required JNI functions, look at existing modules for what is expected, what the contract
 of the function is, use the `native_timing_*` functions around points that should be measurable.
 - Compile and run ECTester using your new module.