Age | Commit message (Collapse) | Author |
|
Test: make docs
Bug: 117818628
Change-Id: Id9669326c725143be362fa03f2d6bf5a4bd19312
|
|
Bug: 35793879
Test: Executed, replaced tables in Javadoc
Change-Id: I9c0c857f2facc4b724b8c95b773c73f4060e18bd
|
|
Ciphers are more complicated than other categories because providers can
declare that they provide a base algorithm but users request an
algorithm/mode/padding triple, so we need to investigate the possible
values of that triple and see which ones actually end up available.
We ignore all the PBE ciphers because they're a mess and we don't
want them to show up in the documentation.
The starting API level for AES/GCM/NOPADDING is actually an educated
guess, it's approximately correct but might be off by one or two.
I'll update it if I later get better information.
Bug: 35793879
Test: Ran run_update_crypto_support.sh
Change-Id: Ifb827818626690ff223f691c8297731790074283
|
|
There are a few algorithms that used to be known by one name but now are
known by another, but the first name still shows up in our documentation,
so I added handling to continue to support those names.
I also had to do a little bit of sleuthing on when certain algorithms
appeared, because they certainly were before API 26 but our API 25 docs
don't mention them. They may be slightly off in one direction or another.
Bug: 35793879
Test: Ran run_update_crypto_support.sh
Change-Id: Ifc3e6fa3177afd82012d75eaaf7ecb26d750659d
|
|
The tool suite consists of:
* crypto_support.json, a JSON file that stores the name and API levels
of all the algorithms we provide or have provided in the past.
* ListProviders.java, which runs on a device and outputs a list of
all the algorithms provided by the security providers.
* update_crypto_support.py, which consumes the output of ListProviders
and rewrites the JSON file to reflect the currently-supported
algorithms.
* run_update_crypto_support.sh, which ties the previous two together
to make it more convenient to run.
* format_supported_algorithm_table.py, which reads the JSON file and
generates a set of HTML tables that can be copied-and-pasted into
documentation.
The intermediate JSON file makes it a lot easier to verify that the
tools have done the right thing after an update, instead of having
to compare the HTML output.
Only Mac and MessageDigest are included for now. I'll add additional
categories of algorithms in a future change, but I wanted to send the
code out for review before spending the time to add the data on
formerly-provided algorithms that's in the class documentation.
Bug: 35793879
Test: libcore/tools/update_crypto_support_test.py
Change-Id: Ib14722b2703cbbc45438d1168395e4e1194515a2
|