Cannot warn others after positive PCR test with QR code. Errormessage: "Es konnte keine Übermittlungs-TAN erstellt werden"
HHHartmann opened this issue · 8 comments
Avoid duplicates
- Bug is not mentioned in the FAQ
- Bug affects both Android and iOS, for specific issues / questions that apply only to one operating system, please raise them in the respective repositories:
- Bug is not already reported in another issue
Technical details
- Device name: Galaxy A51
- iOS/Android version: Android 12
- App version: 2.28.3
Describe the bug
After scanning and downloading my PCR est results successfully I want to warn others
When trying to warn others the error message "Es konnte keine Übermittlungs-TAN erstellt werden" appears
Steps to reproduce the issue
- start warn others
- Agree to send data
- Enter symptoms
- Yes
- start/begin at {Date}
then the errormessage shows up.
Expected behaviour
Do not show the errormessage (and do not run into the error)
Possible Fix
Additional context
Not sure if I should attach the log here or if there are more private channels.
Part of the log:
2022-11-10T08:55:09.210Z D/AppConfigSource: nowUTC=2022-11-10T08:55:09.209Z localConfig.updatedAt=2022-11-10T08:54:37.402Z
2022-11-10T08:55:09.214Z I/SubmissionTask: Supported countries = [DE, IT, IE, LV, HR, BE, SI]
2022-11-10T08:55:09.215Z I/Playbook: [33890cfb-4745-4ee2-b832-e9448482e3df] New Submission Playbook
2022-11-10T08:55:09.215Z D/SubmissionTask: Submitting SubmissionData(registrationToken=########-####-####-####-########bd2b, authCode=########-####-####-####-########45d0, temporaryExposureKeys=[], consentToFederation=true, visitedCountries=[DE, IT, IE, LV, HR, BE, SI], unencryptedCheckIns=[], encryptedCheckIns=[], submissionType=SUBMISSION_TYPE_PCR_TEST)
2022-11-10T08:55:09.216Z V/VerificationServer: retrieveTanFake() -> START
2022-11-10T08:55:09.276Z V/VerificationServer: retrieveTanFake() -> END
2022-11-10T08:55:09.277Z D/SubmissionServer: submitPayload(data=SubmissionData(authCode=########-####-####-####-########45d0, keyList=[], consentToFederation=true, visitedCountries=[DE, IT, IE, LV, HR, BE, SI], unencryptedCheckIns=[], encryptedCheckIns=[], submissionType=SUBMISSION_TYPE_PCR_TEST))
2022-11-10T08:55:09.278Z D/SubmissionServer: Writing 0 Keys and 0 CheckIns to the Submission Payload.
2022-11-10T08:55:09.278Z V/AppConfigProvider:HD: Waiting for update.
2022-11-10T08:55:09.278Z D/AppConfigSource: getConfigData(offlineMode=false)
2022-11-10T08:55:09.279Z V/LocalAppConfigSource: retrieveConfig()
2022-11-10T08:55:09.280Z V/AppConfigStorage: get() AppConfig
2022-11-10T08:55:09.283Z V/AppConfigStorage: Json read from /data/user/0/de.rki.coronawarnapp/files/appconfig_storage/appconfig.json
2022-11-10T08:55:09.285Z V/AppConfigStorage: Loaded stored config, serverTime=2022-11-10T08:54:38Z
2022-11-10T08:55:09.286Z V/ConfigParser: Parsing config (size=1424B)
2022-11-10T08:55:09.290Z V/SurveyConfigMapper: SurveyConfig=SurveyConfigContainer(otpQueryParameterName=otp, surveyOnHighRiskEnabled=false, surveyOnHighRiskUrl=https://befragungen.rki.de/CWABasisbefragung, safetyNetRequirements=SafetyNetRequirementsContainer(requireBasicIntegrity=false, requireCTSProfileMatch=false, requireEvaluationTypeBasic=false, requireEvaluationTypeHardwareBacked=false))
2022-11-10T08:55:09.292Z D/AppConfigSource: nowUTC=2022-11-10T08:55:09.291Z localConfig.updatedAt=2022-11-10T08:54:37.402Z
2022-11-10T08:55:09.292Z D/AppConfigSource: Returning local config, still valid.
2022-11-10T08:55:09.295Z D/PaddingTool: keyPadding(keyListSize=0)
2022-11-10T08:55:09.302Z D/PaddingTool: checkInBytesSizes=[46]
2022-11-10T08:55:09.301Z D/PaddingTool: checkInPadding(plausibleParameters=PlausibleDeniabilityParametersContainer(checkInSizesInBytes=[46], probabilityToFakeCheckInsIfNoCheckIns=0.0, probabilityToFakeCheckInsIfSomeCheckIns=0.005, numberOfFakeCheckInsFunctionParameters=[# de.rki.coronawarnapp.server.protocols.internal.v2.PresenceTracingParametersOuterClass$PresenceTracingPlausibleDeniabilityParameters$NumberOfFakeCheckInsFunctionParameters@6b2430db
[ removed ]
u: 2.0]), checkInListSize=0)
2022-11-10T08:55:09.302Z D/PaddingTool: determineFakeCheckInsNumber(checkInListSize=0)
2022-11-10T08:55:09.303Z D/PaddingTool: probabilityThreshold=0.0
2022-11-10T08:55:09.303Z D/PaddingTool: randomUniformNumber=0.1591115237211297
2022-11-10T08:55:09.304Z D/SubmissionServer: keyPadding=TnlsueO1DFpZuOSFNRDAfBu.......
checkInPadding=
requestPadding=TnlsueO1DFpZuOSFNRDAfBuu9KXQJ7sxUBRzGBG......
2022-11-10T08:55:09.448Z I/SubmissionTask: Finished (isCanceled=false).
2022-11-10T08:55:09.448Z E/SubmissionTask: TEK submission failed.
de.rki.coronawarnapp.exception.TanPairingException: Invalid payload or missing header
at de.rki.coronawarnapp.playbook.Playbook.submit(Playbook.kt:192)
at de.rki.coronawarnapp.playbook.Playbook$submit$1.invokeSuspend(Unknown Source:12)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:82)
Caused by: de.rki.coronawarnapp.exception.http.BadRequestException: Error during web request: code=400 message= body='
at de.rki.coronawarnapp.http.HttpErrorParser.intercept(HttpErrorParser.kt:300)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:144)
at de.rki.coronawarnapp.http.interceptor.RetryInterceptor.intercept(RetryInterceptor.kt:3)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:144)
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:12)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:144)
at de.rki.coronawarnapp.http.interceptor.WebSecurityVerificationInterceptor.intercept(WebSecurityVerificationInterceptor.kt:3)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:144)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:96)
at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Internal Tracking ID: EXPOSUREAPP-14313
Not sure if I should attach the log here or if there are more private channels.
See FAQ How do I create an error report?
That would only make sense though if somebody from the Open Source Team acknowledges your issue and requests a full log.
You've already posted the log extract with the error text:
E/SubmissionTask: TEK submission failed.
de.rki.coronawarnapp.exception.TanPairingException: Invalid payload or missing header
-
The issue should probably be transferred to corona-warn-app/cwa-app-android since it was reported for Android and there is no information to show that it was also occurring under iOS.
Hey @HHHartmann Thank you for the bug report. And also thanks for already finding relations to older tickets @MikeMcC399!
I forwarded your feedback and created an internal ticket.
We'd glady accept an error log as suggested by Mike, already.
https://www.coronawarn.app/en/faq/results/#error_log
You can securely add the id to this ticket as described in the FAQ article.
Corona-Warn-App Open Source Team
Herre is the error log
ID 0F4CEF535D889AD97EA8
Thanks for consideration and keep up the good work
@HHHartmann Please consider to warn via tele tan. With your positive PCR test you can call the tele tan hotline and retry the submission with a tele tan
@HHHartmann , It looks like your device has very old exposure keys from June
2022-11-10T18:08:02.318Z D/SubmissionTask: Transformed keys with symptoms Symptoms(startOfSymptoms=Date(date=2022-11-06), symptomIndication=POSITIVE) from [TemporaryExposureKey<keyData: b0946bbddb306bc252164f9f12c5107d, rollingStartIntervalNumber: Tue Jun 14 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 46a37b167a70daa29fd1f3d9633d51f3, rollingStartIntervalNumber: Wed Jun 15 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 068054a6b94d509ed729010130d7d3f2, rollingStartIntervalNumber: Thu Jun 16 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 839a34cb1718e8e926ab9bcc94a3c197, rollingStartIntervalNumber: Fri Jun 17 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: ca3e45f7def4e56d2cd35c77f3138f90, rollingStartIntervalNumber: Sat Jun 18 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: e93bf45e8046f10777300502cec82b67, rollingStartIntervalNumber: Sun Jun 19 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 8e1c7ef03425b2c7adfacc02889750a4, rollingStartIntervalNumber: Mon Jun 20 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 96092165507be6732b9f792878c345a9, rollingStartIntervalNumber: Tue Jun 21 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 2b17c8ccff843144d7a2cb1f7339a430, rollingStartIntervalNumber: Wed Jun 22 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: d523f63a4fd3fb3f838e611cc7ee466c, rollingStartIntervalNumber: Thu Jun 23 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 3a799b75fa682f14fafddda2cab19b7b, rollingStartIntervalNumber: Fri Jun 24 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 4696542a6c5e7df4f13e29752bc3cf8f, rollingStartIntervalNumber: Sat Jun 25 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: 7f1a131f67d5d18509f5dc0836616068, rollingStartIntervalNumber: Sun Jun 26 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: e7c34096527d4666a7e8d0db2451fbf7, rollingStartIntervalNumber: Mon Jun 27 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 144, reportType: 0, daysSinceOnsetOfSymptoms: unknown>, TemporaryExposureKey<keyData: c092dc8a6b865676b3740ea52bb1a51a, rollingStartIntervalNumber: Tue Jun 28 02:00:00 GMT+02:00 2022, transmissionRiskLevel: 0, rollingPeriod: 65, reportType: 0, daysSinceOnsetOfSymptoms: unknown>] to []
These keys are filtered out before warning and because of that you end up with no keys or CheckIns to warn about. Server will consider this as invalid Warning.
2022-11-10T08:55:09.215Z D/SubmissionTask: Submitting SubmissionData(registrationToken=########-####-####-####-########bd2b, authCode=########-####-####-####-########45d0, temporaryExposureKeys=[], consentToFederation=true, visitedCountries=[DE, IT, IE, LV, HR, BE, SI], unencryptedCheckIns=[], encryptedCheckIns=[], submissionType=SUBMISSION_TYPE_PCR_TEST)
- When did you actually give the OS consent ? was it the first time you tried to register the TAN?
- Are you using this device usually?
I'm just trying to understand how come you have very old exposure keys.
@mtwalli this is the phone I am usually using and it gave me a red alert about two weeks ago. So in principle the app seems to work.
I gave consent to be part of the BT based proximity scanning with exchanging RPIs when I first installed the app short after it became available (so AKAIR well before June).
I can also not find any annomalities in usage of the app during that 2 Week timeframe the ExposureKeys above are dated from.
Not sure about the old exposure keys. Might it be that it came with the QR code I scanned to get the PCR result? But as I read the general overview how the app works that is not related.
@HHHartmann Submission by TAN has been removed in v3.0.1
, You can try the new SRS submission provided in the latest version which is not caching the keys (will always provide what OS has)