DescriptionInsulate the legacy Android client auth code from OpenSSL ABI changes.
The current implementation assumes the Android system OpenSSL and our copy have
compatible ABIs. This will be a problem when switching to BoringSSL which has
already changed from ABIs. Moreoever, it's already slightly off now as any
globals (error queue and locks) have different instances between the two.
Rework the code to never mix the two ABIs. We replicate the subset of OpenSSL
ABI we care about and use it to find the rsa_priv_enc implementation. This is
then mapped to Chromium OpenSSL via the custom RSA_METHOD. In addition, because
we cannot safely increase reference counts, retain references to Java wrappers
where appropriate in lieu of the C structures.
Also fix AndroidKeyStore unit tests on 4.1; they broke after an overzealous
NOTREACHED() in r278305.
BUG=389414
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=282713
Patch Set 1 #Patch Set 2 : Style #Patch Set 3 : Fix unit tests on 4.1 #Patch Set 4 : |bad emacs M-q. No cookie for you. #
Total comments: 4
Patch Set 5 : yfriedman comments #
Total comments: 6
Patch Set 6 : agl comments #Patch Set 7 : Add a TODO. #Patch Set 8 : Rebase #Patch Set 9 : Mismerge #
Messages
Total messages: 10 (0 generated)
|