blob: fe40d40ec04c164a087f1c165ac1bd4ebafbde02 [file] [log] [blame]
Bouncy Castle on the Android platform.
---
The code in this directory is based on $BOUNCYCASTLE_VERSION in the
file bouncycastle.version. See patches/README for more information on
how the code differs from $BOUNCYCASTLE_VERSION.
Porting New Versions of Bouncy Castle.
--
The following steps are recommended for porting new Bouncy Castle versions.
1) Retrieve the appropriate version of the Bouncy Castle source from
www.bouncycastle.org/latest_releases.html (in bcprov-jdk*-*.tar.gz
file). Check the checksum (found at http://bouncycastle.org/checksums.html) with:
md5sum bcprov-jdk*-*.tar.gz
sha1sum bcprov-jdk*-*.tar.gz
2) Update the variables in bouncycastle.config and bouncycastle.version as appropriate.
At the very least you will need to update the bouncycastle.version.
Similarly update ThirdPartyProject.prop.
3) Run:
./import_bouncycastle.sh import bcprov-jdk*-*.tar.gz
4) If there are any errors, then modify bouncycastle.config, bouncycastle.version
and patches in patches/ as appropriate. You might want to use:
./import_bouncycastle.sh regenerate patches/*.patch
Repeat step 3.
5) Cleanup before building with:
m -j16 clean-bouncycastle
6) Build the bouncycastle target from the external/bouncycastle directory with:
mm -j16 snod && adb sync system
If there are build errors, then patches/*.mk or bouncycastle.config
may need updating.
7) Run tests to make sure things are working:
See external/openssl/README.android for test instructions
8) Do a full build before checking in:
m -j16