summaryrefslogtreecommitdiffstats
path: root/preloaded-classes
diff options
context:
space:
mode:
authorAlex Klyubin <klyubin@google.com>2015-04-29 13:16:30 -0700
committerAlex Klyubin <klyubin@google.com>2015-04-29 13:28:56 -0700
commit4812563f68c87278af68309662433279d10f573e (patch)
tree64c1a78e3339bf04acd427c9a8da78653b71720c /preloaded-classes
parent47ea8b3d6bcef193a2d0ec9f0141525c83a0bcda (diff)
downloadframeworks_base-4812563f68c87278af68309662433279d10f573e.zip
frameworks_base-4812563f68c87278af68309662433279d10f573e.tar.gz
frameworks_base-4812563f68c87278af68309662433279d10f573e.tar.bz2
AndroidKeyStore keys should not be handled by Bouncy Castle.
Bouncy Castle JCA provider incorrectly declares that its Cipher, Mac, Signature, and KeyAgreement implementations accept arbitrary keys ( including AndroidKeyStore keys). As a result, when a Cipher, Mac, Signature, or KeyAgreement instance is requested from JCA without explicitly specifying the provider (which follows best practices) and then initialied with an AndroidKeyStore key, JCA chooses the BouncyCastle's implementation, which in turn blows up because it can't handle such keys. The workaround is to install Cipher, Mac, Signature, and KeyAgreement implementations backed by AndroidKeyStore as a higher-priority JCA provider than the Bouncy Castle one. This is achieved by splitting out the above implementations from AndroidKeyStoreProvider into AndroidKeyStoreBCWorkaroundProvider and installing the AndroidKeyStoreProvider at the usual priority (below Bouncy Castle) and the AndroidKeyStoreBCWorkaroundProvider at above Bouncy Castle priority. Bug: 20691708 Change-Id: I336464f4a49bc30c6845ddc4e84b07f4105424dd
Diffstat (limited to 'preloaded-classes')
-rw-r--r--preloaded-classes1
1 files changed, 1 insertions, 0 deletions
diff --git a/preloaded-classes b/preloaded-classes
index c94623a..d2ed762 100644
--- a/preloaded-classes
+++ b/preloaded-classes
@@ -1152,6 +1152,7 @@ android.provider.Settings$SettingNotFoundException
android.provider.Settings$System
android.provider.Telephony$Mms
android.renderscript.RenderScript
+android.security.AndroidKeyStoreBCWorkaroundProvider
android.security.AndroidKeyStoreProvider
android.speech.tts.TextToSpeechService
android.speech.tts.TextToSpeechService$SpeechItemV1