Giter VIP home page Giter VIP logo

external_bouncycastle's Introduction

Bouncy Castle on the Android platform.
---

The code in this directory is based on $BOUNCYCASTLE_VERSION in the
file bouncycastle.version. See the in-file change markers 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 (both bcprov-jdk*-*.tar.gz
   and bcpkix-jdk*-*.tar.gz files).

   Check the checksum (found at http://bouncycastle.org/checksums.html) with:

     md5sum bcprov-jdk*-*.tar.gz
     sha1sum bcprov-jdk*-*.tar.gz
     md5sum bcpkix-jdk*-*.tar.gz
     sha1sum bcpkix-jdk*-*.tar.gz

2) Submit the code to the upstream-master branch:

  a) Create a new branch tracking upstream-master

      git checkout -b upgrade-to-xxx --track aosp/upstream-master

  b) Update the variables in bouncycastle.version.

  c) Expand the source from the .tar.gz files

  d) Replace bc{prov,pkix}/src/main/java/org with the equivalent source
     directory

  e) Ensure any new files are added

      git add bc{prov,pkix}

  f) Commit the change

      git commit -a -m 'bouncycastle: Android tree with upstream code for version X.XX'

  g) Get the change reviewed

      repo upload . -D upstream-master

3) Merge the code into the master branch

  a) Create a new branch

      repo start merge-xxx

  b) Merge the changes in

      git fetch aosp upstream-master
      git merge aosp/upstream-master

  c) Resolve any conflicts.  Some common cases:

     * If upstream changed a file that's deleted locally, we probably don't
       need it
     * If upstream added a file to a directory we deleted, we probably don't
       need it

  d) Update the list of exported APIs in proguard.flags, if necessary.

     Check this in particular if new algorithms are getting registered with
     ConfigurableProvider.addAlgorithm or ConfigurableProvider.addPrivateAlgorithm.

  e) Confirm all changes

      git diff aosp/master

  f) Run the tests, commonly at least

      cts -m CtsLibcoreTestCases
      cts -m CtsLibcoreFileIOTestCases
      cts -m CtsLibcoreJsr166TestCases
      cts -m CtsLibcoreOjTestCases
      cts -m CtsLibcoreOkHttpTestCases
      cts -m CtsLibcoreWycheproofBCTestCases

  g) Get the change reviewed

      repo upload .

external_bouncycastle's People

Contributors

enh-google avatar fadden avatar bdcgoogle avatar kruton avatar paulduffin avatar lcolitti avatar nfuller avatar delphij avatar narayank avatar prbprbprb avatar colincross avatar reminvg avatar gvictor avatar gcondra avatar bradfitz avatar yqwed avatar jeffyhao avatar miguelaranda0 avatar ohodson avatar android-build-merge-worker-robot avatar marstj avatar pszc avatar eranmes avatar rpius avatar 15characterlimi avatar maxbires avatar egnor avatar bbadour avatar digit-android avatar crazybob avatar

Watchers

someone5678 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.