ukhsa-collaboration / covid-19-app-android-ag-public Goto Github PK
View Code? Open in Web Editor NEWCOVID19 Android app
License: Other
COVID19 Android app
License: Other
Describe the bug
According to the Dagger documentation injection in Activities should happen before the call to super.onCreate()
. In most (all?) of the Activities in the project injection is done after the call to super.onCreate()
.
To Reproduce
Steps to reproduce the behavior:
Open any Activity in the project.
Expected behavior
Dagger injection for Activities follows guidance from Dagger project and is done before any call to super.onCreate()
.
Screenshots
N/A
Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
I don't think this is a massive issue by the way. It's just not according to the Dagger docs.
I haven't found any Fragments yet but the injection call should be in onAttach
before the call to super
unless you've hooked up a FragmentFactory that allows for constructor injection 😸 .
Although this is dummy data, it's potentially confusing to users as it's not an obvious-looking postal district that people will be familiar with. There only a few districts in London with letter suffixes.
Given the new validation against real districts in ce3fe43, I'd suggest it might be better to use real-world examples when onboarding new users (such as E2, L36, PO30 as used in string valid_post_code_is_required
, areas where the app is currently being trialled).
I reported a fever (after having measured my temperature at 38.2 and pulse 99), and the app said I should get a test and my household should self-isolate for 11 days.
But there was no place to report that I had the AstraZeneca vaccine yesterday. According to https://www.gov.uk/government/publications/regulatory-approval-of-covid-19-vaccine-astrazeneca/information-for-uk-recipients-on-covid-19-vaccine-astrazeneca#possible-side-effects "If your fever is high and lasts longer than two or three days ... you should follow appropriate advice" doesn't that mean I don't need to worry if it's been 18 hours since my vaccine and no other symptoms?
If we must self-isolate then my wife would have to cancel her vaccine appointment for tomorrow. But I'm not convinced this matches the actual official advice for people who've just had the vaccine and experience known side effects.
Hi, I tried to use the "Venue Check-in" option to scan a QR code that was on display at a small business in England, but the option was not listed as available. I'm running NHS Covid-19 version 4.26.1 (280) on Android 12 on a Samsung S21.
I haven't found any obvious announcement that the venue check-in option has been withdrawn in England, nor do I see anything obvious in the commit log, although I haven't checked every line of the code. The app still talks about "NHS QR Codes" in the "About this app" option.
If the option has been withdrawn then I'm wondering if I should advise our local small business to remove their now non-functioning QR code. (Due to language issues they might not have been keeping on top of every instruction they received officially.)
Users are reporting that it is not possible to enter a negative test result after entering symptoms into the app, which has been published here >> https://www.bbc.com/news/amp/technology-54307526
If positive symptoms are entered the self isolation countdown begins, however if a test is carried out and gives a negative result, there is no facility to enter this into the app and cancel the self isolation countdown.
The countdown can currently only be cancelled by clearing app data, which is obviously a poor workaround.
I'm unable to test entering a negative test result into the "Enter test result" screen as I haven't taken a test.
Tested symptoms reporting and data clearing on:
Model: Samsung Galaxy S20 Ultra
Android Version: 10
App Version: 3.6 (68) then 3.6 (69)
I am not a coder, but would it be possible to export your check in history and then upload the resulting export to the track and trace if needed
To squish tedious paranoid theories about the actual app deployed to Play not being the same as this code, it would be good if you could add support for reproducible builds. See (for example) the Swiss COVID app at https://github.com/DP-3T/dp3t-app-android-ch.
To access the private GitHubPackages repository that hosts the remote configurations for all environments
It suggests that I need to access some privatge repositories.
Is there a way for me to build and run it without it?
Or maybe the code presented here is just for public inspection, not for the actual running of the app?
Looking at google's API docs, use of some methods don't seem right, unless the implementation is from an earlier version:
The risky venues circuit breaker functions by submitting the venue IDs of each risky venue that a user has visited to an API endpoint. This partially exposes the user's venue check-in history based on which venue IDs are submitted, and is contrary to the various documentation which states that the user's recorded venue IDs will never leave their device.
This data could be used for gathering statistics and performing analyses without users' knowledge or consent. In conjunction with the user's IP address, the data could also be linked to a specific user. Similar data could also theoretically be gathered for any specific non-risky venue by placing it on the risky venues list and deactivating the circuit breaker for that venue to prevent a notification from being triggered.
This breaks the security model around which the app is built, being that all processing should happen on the user's device and no sensitive (i.e. non-analytic) data should ever be uploaded thereby abating possible concerns that the app may be used for mass data gathering or espionage by making it technically impossible to do so. In the interest of transparency, the risky venues circuit breaker component should be removed or redesigned in a way that does not expose the user's data or, if this is not feasible, a clear notice about the operation of this function should be given in the documentation.
Describe the bug
The QR doesn't direct users to install the App. This means that it doesn't piggyback on the years of effort to teach the general public that QR codes direct users to content. I've watched three people today try scan the App with their camera, see it fail to link them anywhere and give up on the process.
When you scan the QR code with native camera app you get the following details:
As I understand the QR is a piece of text, with 3 payloads (split by the ":" character) with a JWT token encoded as Base64. What I'm recommending is that you place it within a URL which the App declares a deep link and universal link.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
What I expected is something like the following. This is a QR code that deep-links into Twitter. Twitter understands the query param and uses it, or provides a web version.
The NHS App would look something like this.
If the App is installed, then the user flow is as before, with the App activating to handle the URI deep-link from the native Camera app. If the app is not installed then the NHS App should redirect users to a webpage to download the app at this point for their platform.
I apprectiate the user flow at this point might just be to continue and not go through the starting process, but at least we've guided the user into starting the install flow.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Anything else:
A few of my comments are echoed in this blog which talks about a few ways the QR could be less dense which would also help uptake.
The QR codes I've generated from here are smaller than the ones generated from here. This is because I have a lower error-correction (given there's rarely something occluding the code).
I used this site to debug the QR codes.
Please consider making it possible to record other tests, such as those given in hospitals and through the ONS survey. That would allow better detection of contacts.
https://twitter.com/NHSCOVID19app/status/1309446092057202689
Describe the bug
The android app title is not available anymore.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app should have a name.
Smartphone (please complete the following information):
After initial installation I was able to set the post code.
Now the app fails to launch after seeing the splash screen.
Pixel 3
Android 11
Version 3.6(68)
Stacktrace from logcat in androidstudio
2020-09-24 22:38:47.645 19709-19709/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 19709
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parsePartialFrom(GeneratedMessageLite.java:1566)
at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parseFrom(GeneratedMessageLite.java:1664)
at com.google.crypto.tink.proto.Keyset.parseFrom(Keyset.java:957)
at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.read(SharedPrefKeysetReader.java:84)
at com.google.crypto.tink.CleartextKeysetHandle.read(CleartextKeysetHandle.java:58)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:321)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:280)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:230)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:123)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
2020-09-25 01:16:37.015 5862-5862/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 5862
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 02:22:11.519 15414-15414/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 15414
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).
at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parsePartialFrom(GeneratedMessageLite.java:1566)
at com.google.crypto.tink.shaded.protobuf.GeneratedMessageLite.parseFrom(GeneratedMessageLite.java:1664)
at com.google.crypto.tink.proto.Keyset.parseFrom(Keyset.java:957)
at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.read(SharedPrefKeysetReader.java:84)
at com.google.crypto.tink.CleartextKeysetHandle.read(CleartextKeysetHandle.java:58)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:321)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:280)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:230)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:123)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
2020-09-25 02:37:21.419 17618-17618/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 17618
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 02:37:24.977 17911-17911/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 17911
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 03:17:11.429 20293-20293/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 20293
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 03:17:14.732 20331-20331/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 20331
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 10:12:50.258 7510-7510/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 7510
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 14:08:26.164 9560-9560/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 9560
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 17:55:16.389 11590-11590/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 11590
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 17:55:19.399 11620-11620/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 11620
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 18:19:32.908 13685-13685/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 13685
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 18:19:36.427 13723-13723/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 13723
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 18:20:20.560 14145-14145/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 14145
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 18:20:23.545 14183-14183/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 14183
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 18:20:26.257 14209-14209/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 14209
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 18:20:29.032 14234-14234/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 14234
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 19:03:23.377 22885-22885/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 22885
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 19:48:44.218 30020-30020/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 30020
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 19:48:47.556 30307-30307/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 30307
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-25 22:07:10.087 13555-13555/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 13555
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 01:00:02.440 2211-2211/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 2211
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 01:16:12.933 6359-6359/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 6359
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:110)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:108)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:49)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 09:01:42.605 6454-6454/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 6454
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:110)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:108)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:49)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 09:01:57.252 6716-6716/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 6716
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:110)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:108)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:49)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 09:02:48.171 7433-7433/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 7433
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 09:02:51.858 7474-7474/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 7474
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 09:03:26.662 7700-7700/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 7700
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 09:05:27.761 8134-8134/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 8134
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 14:52:34.462 6925-6925/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 6925
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
2020-09-26 15:32:37.280 13069-13069/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.nhs.covid19.production, PID: 13069
java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.KeyStoreException: the master key android-keystore://master_key_strongbox exists but is unusable
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228)
at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130)
at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107)
at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.security.InvalidKeyException: Keystore operation failed
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378)
at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388)
at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54)
at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109)
at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984)
at javax.crypto.Cipher.tryCombinations(Cipher.java:2891)
at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796)
at javax.crypto.Cipher.chooseProvider(Cipher.java:773)
at javax.crypto.Cipher.init(Cipher.java:1143)
at javax.crypto.Cipher.init(Cipher.java:1084)
at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226)
at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160)
at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259)
Describe the bug
On first installation, the app asks for a (partial) postcode. Once this is entered, there is no way to later change it, for example if you are moving house, without clearing all of the app data.
[Edit: There is a way, it's just not particularly easy to find]
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should be possible to change the postcode without clearing all of the app data and losing potential exposure notifications
Smartphone (please complete the following information):
Thank you for your interest in this project
We welcome feedback about the Test and Trace App, and this can be sent to us via the
https://faq.covid19.nhs.uk/create-case/ page on the website.
Describe the bug
The application is crashing on launch.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
App to open correctly.
Screenshots
None
Desktop (please complete the following information):
Android
Smartphone (please complete the following information):
Additional context
When launching the app it's crashing with a KeyStoreException (Downloaded from the store).
2020-09-29 12:24:36.788 19044-19044/? E/AndroidRuntime: FATAL EXCEPTION: main Process: uk.nhs.covid19.production, PID: 19044 java.lang.RuntimeException: Unable to create application uk.nhs.nhsx.covid19.android.app.ExposureApplication: java.security.KeyStoreException: the master key android-keystore://_master_key_strongbox_ exists but is unusable at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6717) at android.app.ActivityThread.access$1300(ActivityThread.java:237) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) Caused by: java.security.KeyStoreException: the master key android-keystore://_master_key_strongbox_ exists but is unusable at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:268) at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:228) at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:121) at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences$app_productionRelease(EncryptionUtils.kt:186) at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createStrongBoxBackedEncryptedSharedPreferences(EncryptionUtils.kt:145) at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.createEncryptedSharedPreferences(EncryptionUtils.kt:136) at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences(EncryptionUtils.kt:130) at uk.nhs.nhsx.covid19.android.app.util.EncryptionUtils.tryCreateEncryptedSharedPreferences$default(EncryptionUtils.kt:118) at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent(ExposureApplication.kt:109) at uk.nhs.nhsx.covid19.android.app.ExposureApplication.buildAndUseAppComponent$default(ExposureApplication.kt:107) at uk.nhs.nhsx.covid19.android.app.ExposureApplication.onCreate(ExposureApplication.kt:48) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712) at android.app.ActivityThread.access$1300(ActivityThread.java:237) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) Caused by: java.security.InvalidKeyException: Keystore operation failed at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1378) at android.security.KeyStore.getInvalidKeyException(KeyStore.java:1388) at android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54) at android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89) at android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265) at android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:109) at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2984) at javax.crypto.Cipher.tryCombinations(Cipher.java:2891) at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796) at javax.crypto.Cipher.chooseProvider(Cipher.java:773) at javax.crypto.Cipher.init(Cipher.java:1143) at javax.crypto.Cipher.init(Cipher.java:1084) at com.google.crypto.tink.integration.android.AndroidKeystoreAesGcm.encrypt(AndroidKeystoreAesGcm.java:69) at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.validateAead(AndroidKeystoreKmsClient.java:226) at com.google.crypto.tink.integration.android.AndroidKeystoreKmsClient.getAead(AndroidKeystoreKmsClient.java:160) at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewMasterKey(AndroidKeysetManager.java:259) 2020-09-29 12:24:36.788 19044-19044/? E/AndroidRuntime: ... 20 more Caused by: android.security.KeyStoreException: Too many operations at android.security.KeyStore.getKeyStoreException(KeyStore.java:1301) ... 35 more
Hello,
I'm wondering why the Android app version has been published only on the UK store. Foreign people may have lot of troubles trying to downloading the app because usually everyone tends to keep set its own country into the Play Store.
Other contact-tracing apps like the Italian Immuni are available everywhere.
I am aware that iOS is able to understand in which region the user is and automatically manage different apps instead Android needs user input, but this is a very big issue for both foreign people who lives in UK and who's coming from abroad to spend a short time in UK.
I remember the Play Store allows the country switch only one time per year.
Thanks.
Changes to this function needed for results to be inline with the equation.
val step1 = (daysFromOnset + 0.3) / sigma
Thank you for the detailed explanation in issue #6 . Is there a problem in ExposureWindow.riskScore()
?
riskScoreCalculator.calculate()
calculates infectiousness from days from onset, using a formula. We then multiply this by infectiousnessFactor()
.
infectiousnessFactor()
is calculated from ExposureWindow.infectiousness
. But I think this is also calculated from days from onset.
I think this would cause the infectiousness curve to fall faster than it is supposed to.
private fun ExposureWindow.riskScore(
config: RiskScoreCalculatorConfiguration,
riskCalculation: V2RiskCalculation
): Double {
val scanInstances = scanInstances.map { it.toNHSScanInstance() }
val riskScoreCalculator = riskScoreCalculatorProvider.riskScoreCalculator(config)
return 60 * riskScoreCalculator.calculate(scanInstances) * infectiousnessFactor(
riskCalculation
)
}
I believe the daysToInfectiousness
values used are defined here:
"v2RiskCalculation": {
"daysSinceOnsetToInfectiousness":[0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,0,0,0,0,0],
"infectiousnessWeights": [0.0, 0.4, 1.0],
Describe the bug
When you setup a new Android phone you normally transfer your apps and settings from your old phone as part of that set up. This is achieved easily via the setup wizard, which just asks you to attach a cable between the two phones, and it goes ahead and transfers the apps and data from the old phone automatically.
Unfortunately, unlike properly written apps, the COVID-19 app does not allow its data to be transferred. When you come to use the COVID-19 app on the new phone, it is as if you have just installed it for the first time - it walks you through the age check, and the postcode entry, and none of your previous checkins are maintained.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The new phone retains all your settings such as the postcode, and all your checkins.
Screenshots
n/a
Smartphone (please complete the following information):
Additional context
I think this is because the Android manifest file has this line in it:
android:allowBackup="false"
That line should not be present in properly written apps.
Numerous users are reporting that it isn't possible to enter an NHS test result into the app, which is clearly a significant flaw in the system.
This has also been reported on the iOS app here >> ukhsa-collaboration/covid-19-app-ios-ag-public#7
I'm unable to test this unfortunately as I haven't taken an NHS test.
Describe the bug
Symptoms checkboxes are empty in the app, and the local covid alert level screen also misses all text.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Some or all text is missing, as demonstrated by the attached screenshots:
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Describe the bug
In the notification drawer, a notification labelled 'NHS Covid-19' persists continuously with the text 'Loading...'. An app icon badge indicating 1 notification also appears on the NHS Covid-19 app icon in the home screen. This bug has been reported anecdotally by other Android users. Appears to disappear for around 60 minutes if phone is restarted.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The notification persists for a few seconds then is dismissed as data is loaded. The timestamp for the exposure check is logged.
Smartphone (please complete the following information):
Additional context
I am unsure if bugfix PRs are made publicly so will also report this via the NHSX feedback form.
Describe the bug
The isolation date in the app is (sometimes?) incorrect and does not match the actual isolation date, at least for symptomatic
To Reproduce
Steps to reproduce the behavior:
Expected behavior
An isolation date should be displayed which matches the dates that the testing system gives. In the case of a symptomatic patient that is ten days from the date that they declared that their symptoms started on.
Screenshots
N.A. due to private data - but imagine a big red 6 in the middle of the screen.
Desktop (please complete the following information):
N.A.
Smartphone (please complete the following information):
problem verified on both Android and iOS (separate users)
Additional context
This was verified with a test provided in a regional testing centre with a DIY testing kit - thus pillar 2 by my understanding.
This problem may encourage people to delete their app from their phone and lose data in order that they are not shown as having to isolate when in fact they do not need to. As such, although it's just an interface problem it does have some serious implications.
also reported by feedback.
Describe the bug
After an exposure, I'm taken though a wizard which asks whether I'm fully vaccinated. However, it doesn't clarify what that means. Does one need to have had a booster to be fully vaccinated?
To Reproduce
Steps to reproduce the behaviour:
Expected behavior
I expect the questions I'm asked to be unambiguous.
Smartphone:
I received an exposure notification from the COVID-19 Android App today however when clicking on the notification in the notification bar it is dismissed and the app is loaded, the notification is then lost forever and you are unable to re-read the notification or see historic notifications. I know Android by default has a notification log, however this is removed from the build for Samsung phones and hence Samsung users are unable to read the entire notification as it is dismissed when clicking on it and only the first portion of the message is viewable in the notification bar. Ideally this needs fixing.
Describe the bug
On install, a "Privacy Notice" link is shown on the device. Tapping it takes me to an error page because of a redirect loop:
https://www.gov.uk/government/publications/nhs-covid-19-app-privacy-information/nhs-test-and-trace-app-early-adopter-trial-august-2020-privacy-notice 301s to /government/publications/nhs-covid-19-app-privacy-information/nhs-covid-19-app-privacy-notice
which itself 301s back to /government/publications/nhs-covid-19-app-privacy-information/nhs-test-and-trace-app-early-adopter-trial-august-2020-privacy-notice
Also, the use of 301s means that these will be indefinitely cached client-side, so once a client has requested either of these links, it will be hard to make either work.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A webview to load with a privacy notice
Smartphone (please complete the following information):
Describe the bug
The current latest commit in this repository refers to configuration_version = "1.0.23-SNAPSHOT"
.
https://github.com/nhsx/covid-19-app-android-ag-public/blob/01f790a0ebefe20ba6ff7925e56dfd88911741bf/app/build.gradle#L148
But the current latest public commit on the configuration repo is set to version = "1.0.15-SNAPSHOT"
.
Are these two repositories out of sync?
I am getting the following "Unresolved reference" error during a ./gradlew
run of this repository.
bencord0@localhost ~/src/covid-19-app-android-ag-public $ ./gradlew
> Configure project :app
> Task :app:compileScenariosDebugKotlin FAILED
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/ExposureApplication.kt: (17, 30): Unresolved reference: qrCodesSignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/ExposureApplication.kt: (86, 21): Unresolved reference: qrCodesSignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/di/module/AppModule.kt: (8, 30): Unresolved reference: SignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/di/module/AppModule.kt: (29, 38): Unresolved reference: SignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/di/module/AppModule.kt: (79, 39): Unresolved reference: SignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/di/module/NetworkModule.kt: (105, 16): Unresolved reference: signatureKeys
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/di/module/SignatureValidationInterceptor.kt: (10, 30): Unresolved reference: SignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/di/module/SignatureValidationInterceptor.kt: (20, 37): Unresolved reference: SignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/qrcode/QrCodeParser.kt: (6, 30): Unresolved reference: SignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/qrcode/QrCodeParser.kt: (25, 31): Unresolved reference: SignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/qrcode/QrCodeParser.kt: (78, 29): Unresolved reference: it
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/main/java/uk/nhs/nhsx/covid19/android/app/qrcode/QrCodeParser.kt: (78, 45): Unresolved reference: it
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/scenarios/java/uk/nhs/nhsx/covid19/android/app/DebugActivity.kt: (38, 30): Unresolved reference: qrCodesSignatureKey
e: /home/bencord0/src/covid-19-app-android-ag-public/app/src/scenarios/java/uk/nhs/nhsx/covid19/android/app/DebugActivity.kt: (226, 25): Unresolved reference: qrCodesSignatureKey
FAILURE: Build failed with an exception.
Has the qrCodesSignatureKey
been published?
Is the configuration repository https://github.com/nhsx/covid-19-app-configuration-public out of date?
To Reproduce
Steps to reproduce the behavior:
$ git clone https://github.com/nhsx/covid-19-app-configuration-public
$ cd covid-19-app-configuration-public
$ patch -p1 < ../mavenlocal-configuration.patch # (see below)
This is the patch that I'm using. It disables the remote check, as I will only be using the local maven cache to get the build working locally.
diff --git a/build.gradle b/build.gradle
index 2523120..349c0ee 100644
--- a/build.gradle
+++ b/build.gradle
@@ -18,14 +18,7 @@ subprojects {
ext.version = '1.0.15-SNAPSHOT'
publishing {
repositories {
- maven {
- name = "GitHubPackages"
- url = uri("https://maven.pkg.github.com/nhsx/covid-19-app-configuration-public")
- credentials {
- username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
- password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
- }
- }
+ mavenLocal()
}
publications {
gpr(MavenPublication) {
$ ./gradlew publishToMavenLocal
This is a workaround because the current packages are not published.
https://github.com/nhsx/covid-19-app-configuration-public/packages <- this is empty.
$ cd ../
$ git clone https://github.com/nhsx/covid-19-app-android-ag-public
$ cd covid-19-app-android-ag-public
$ patch -p1 < ../mavenlocal-android.patch # (see below)
diff --git a/app/build.gradle b/app/build.gradle
index 76ad9d5..00a9789 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,13 +10,7 @@ apply plugin: "com.github.triplet.play"
apply from: '../jacoco.gradle'
repositories {
- maven {
- url = 'https://maven.pkg.github.com/nhsx/covid-19-app-configuration-public'
- credentials {
- username = project.findProperty("gpr.user") ?: System.getenv("PACKAGES_ACCESS_ACTOR")
- password = project.findProperty("gpr.key") ?: System.getenv("PACKAGES_ACCESS_TOKEN")
- }
- }
+ mavenLocal()
}
def buildNumber = new File('app/buildNumber').text as Integer
diff --git a/build.gradle b/build.gradle
index 0b532e5..6e65184 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,13 +24,7 @@ allprojects {
repositories {
google()
jcenter()
- maven {
- url = 'https://maven.pkg.github.com/nhsx/covid-19-app-configuration-public'
- credentials {
- username = findProperty("gpr.user") ?: System.getenv("REPOS_ACCESS_ACTOR")
- password = findProperty("gpr.key") ?: System.getenv("REPOS_ACCESS_TOKEN")
- }
- }
+ mavenLocal()
}
}
./gradlew
Expected behaviour
The application should build.
Actual behaviour
Unresolved reference: qrCodesSignatureKey
This line imports code which is not available publically.
https://github.com/nhsx/covid-19-app-android-ag-public/blob/01f790a0ebefe20ba6ff7925e56dfd88911741bf/app/src/main/java/uk/nhs/nhsx/covid19/android/app/ExposureApplication.kt#L19
import uk.nhs.covid19.config.qrCodesSignatureKey
Desktop:
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Now the APP should function normally.
Smartphone 1(Mi10 Ultra):
Smartphone 2(HUAWEI P20):
Smartphone 3(HUAWEI P9):
Additional context
I have also tried to give as many permissions as I can to this app, but failed. I tried three phones, all failed.
The issue template as shown below suggests that the project maintainers want feedback through the NHS site rather than here:
In any case, since Github offers the public the chance to make issue reports and pull requests, it would be useful to have a note in the project readme file to say whether or not the project maintainers want these sort of contributions, or if Github is being used as a publishing platform only.
If contributions through github are wanted some guidance about how best to collaborate with others working on the project would useful - perhaps in a contributing.md file similar to https://gist.github.com/PurpleBooth/b24679402957c63ec426
Thank you for your interest in this project
We welcome feedback about the Test and Trace App, and this can be sent to us via the
https://faq.covid19.nhs.uk/create-case/ page on the website.
Supporting BLE beacons for collecting where a user has been ( as well as a QR code) would mean users wouldn't have to pull out their phone in order to scan a QR code, it could also mean you could track when the user leaves that area. From what I understand, the QR code contains all the information needed for the app to know it's details... and there's no round trip to "register" you (your BLE mac address) to that location, it's all done using the app locally. So if a location had a BLE beacon, and you were around that BLE beacon for a predetermined amount of time (lets say 2 minutes).. that means you weren't just walking past a shop.... you could then register that user as being there, without any interaction needed by the end user, and you also know when they left - not just assuming they were there until midnight.
This could be implemented for iOS too.
Describe the bug
The BACKGROUND_WORK
notification created by getUpdatingDatabaseNotification
is alerting by default (meaning it appears in the status bar as if there's something the user needs to act on), and also includes a misleading action titled "Loading…" which just launches the app when tapped.
To Reproduce
Expected behavior
notification_text_updating_database
) should just be text, not a clickable button (and should probably be more descriptive, like "Updating…", to make it clear that the notification won't populate with useful information in the future)I know Android restricts what you can do in terms of notifications when you're running a foreground service, so removing the notification may not be possible, but the "Loading…" text definitely shouldn't be a clickable button.
Screenshots
Hard to obtain one, since the notification goes away quite quickly.
Smartphone
Describe the bug
User receives a notification saying they might have been in contact with someone who has tested positive for COVID-19 and they need to self isolate. They then click on the notification which causes the app to open. When the app opens, the notification disappears related to issue #32 and there is no countdown clock to tell you when your self isolation ends. There is no information telling you where or when the exposure might have happened (was it a month ago or yesterday?). There are many reports of this happening.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
User receives a possible COVID-19 exposure notification and that they need to self isolate. User clicks on notification which opens the app and provides them with more information about the possible exposure and a countdown clock on when their self isolation should end. Where users have not been exposed to COVID-19, they receive no exposure notifications.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Additional context
There are reports on twitter and in the media that if a user receives one of these notifications, and it disappears when the user clicks on it, that it might be a bug in the app and the user has not actually been exposed to COVID-19. Along with a bug fix, clear guidance should be released on how to treat different notification messages and expected behavior of alerts.
Describe the bug
The "Possible COVID-19 Exposure" notification does not click through to any useful information about why it was generated.
To Reproduce
An exposure is generated which falls below the threshold for further action, but is notified to the user by the operating system.
Expected behaviour
If the notification cannot be suppressed, clicking should take the user to a view which explains that this exposure is below the threshold for further action.
Smartphone (please complete the following information):
Additional context
Also reported on the iOS app ukhsa-collaboration/covid-19-app-ios-ag-public#11
At the moment there only appears to be an option to sign in to a Venue.
There should be the option to sign out so that if someone visits the same Venue but hours apart then they are not automatically seen as being there at the same time and at high risk of transmission.
e.g. Athletics events
Scenario 1:
parent accompanying an athlete arrive at a venue at 9am and leaves at 11am
second parent who test positive arrives at the same venue at 1pm and leaves at 2pm
No Match
Scenario 2:
parent accompanying an athlete arrive at a venue at 9am and leaves at 11am
second parent who test positive arrives at the same venue at 10am and leaves at 11:30
Possible Match
It should be easy to sign out of a Venue when signing in to another one and either scan a QR Code or have a "Leave Venue" button in app to sign out when leaving.
Describe the bug
The text underneath the example QR code in the Welsh version of QR code help poster should probably be blurred in the same way that the text in the English version is blurred.
At the very least the good people of Briton Ferry deserve to have an accurate representation of their high street. The location is currently occupied by a fine Indian takeaway. With a pretty decent menu and prices from what I can see 😋 .
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Example venue location should either be blurred or completely made up / non-existent.
Screenshots
See Welsh version of QR code help poster.
Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
Obviously..... obviously..... this is very low priority 😸 .
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.