1Bouncy Castle on the Android platform. 2--- 3 4The code in this directory is based on $BOUNCYCASTLE_VERSION in the 5file bouncycastle.version. See the in-file change markers for more information 6on how the code differs from $BOUNCYCASTLE_VERSION. 7 8Porting New Versions of Bouncy Castle. 9-- 10 11The following steps are recommended for porting new Bouncy Castle versions. 12 131) Retrieve the appropriate version of the Bouncy Castle source from 14 www.bouncycastle.org/latest_releases.html (both bcprov-jdk*-*.tar.gz 15 and bcpkix-jdk*-*.tar.gz files). 16 17 Check the checksum (found at http://bouncycastle.org/checksums.html) with: 18 19 md5sum bcprov-jdk*-*.tar.gz 20 sha1sum bcprov-jdk*-*.tar.gz 21 md5sum bcpkix-jdk*-*.tar.gz 22 sha1sum bcpkix-jdk*-*.tar.gz 23 242) Submit the code to the upstream-master branch: 25 26 a) Create a new branch tracking upstream-master 27 28 git checkout -b upgrade-to-xxx --track aosp/upstream-master 29 30 b) Update the variables in bouncycastle.version. 31 32 c) Expand the source from the .tar.gz files 33 34 d) Replace bc{prov,pkix}/src/main/java/org with the equivalent source 35 directory 36 37 e) Ensure any new files are added 38 39 git add bc{prov,pkix} 40 41 f) Commit the change 42 43 git commit -a -m 'bouncycastle: Android tree with upstream code for version X.XX' 44 45 g) Get the change reviewed 46 47 repo upload . -D upstream-master 48 493) Merge the code into the master branch 50 51 a) Create a new branch 52 53 repo start merge-xxx 54 55 b) Merge the changes in 56 57 git fetch aosp upstream-master 58 git merge aosp/upstream-master 59 60 c) Resolve any conflicts. Some common cases: 61 62 * If upstream changed a file that's deleted locally, we probably don't 63 need it 64 * If upstream added a file to a directory we deleted, we probably don't 65 need it 66 67 d) Confirm all changes 68 69 git diff aosp/master 70 71 e) Run the tests, commonly at least 72 73 cts -m CtsLibcoreTestCases 74 cts -m CtsLibcoreFileIOTestCases 75 cts -m CtsLibcoreJsr166TestCases 76 cts -m CtsLibcoreOjTestCases 77 cts -m CtsLibcoreOkHttpTestCases 78 cts -m CtsLibcoreWycheproofBCTestCases 79 80 e) Get the change reviewed 81 82 repo upload . 83