1 Bouncy Castle on the Android platform. 2 --- 3 4 The code in this directory is based on $BOUNCYCASTLE_VERSION in the 5 file bouncycastle.version. See patches/README for more information on 6 how the code differs from $BOUNCYCASTLE_VERSION. 7 8 Porting New Versions of Bouncy Castle. 9 -- 10 11 The following steps are recommended for porting new Bouncy Castle versions. 12 13 1) Retrieve the appropriate version of the Bouncy Castle source from 14 www.bouncycastle.org/latest_releases.html (in bcprov-jdk*-*.tar.gz 15 file). Check the checksum (found at http://bouncycastle.org/checksums.html) with: 16 17 md5sum bcprov-jdk*-*.tar.gz 18 sha1sum bcprov-jdk*-*.tar.gz 19 20 2) Update the variables in bouncycastle.config and bouncycastle.version as appropriate. 21 At the very least you will need to update the bouncycastle.version. 22 Similarly update ThirdPartyProject.prop. 23 24 3) Run: 25 26 ./import_bouncycastle.sh import bcprov-jdk*-*.tar.gz 27 28 4) If there are any errors, then modify bouncycastle.config, bouncycastle.version 29 and patches in patches/ as appropriate. You might want to use: 30 31 ./import_bouncycastle.sh regenerate patches/*.patch 32 33 Repeat step 3. 34 35 5) Cleanup before building with: 36 37 m -j16 clean-bouncycastle 38 39 6) Build the bouncycastle target from the external/bouncycastle directory with: 40 41 mm -j16 snod && adb sync system 42 43 If there are build errors, then patches/*.mk or bouncycastle.config 44 may need updating. 45 46 7) Run tests to make sure things are working: 47 48 See external/openssl/README.android for test instructions 49 50 8) Do a full build before checking in: 51 52 m -j16 53