You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Method /signercertificateStatus returns only "not deleted" (it calls signerInformationRepository.findAllByDeletedOrderByIdAsc(false)) certs from local database.
Method /signercertificateUpdate returns all certificates (initially it calls findFirstByIdIsNotNullOrderByIdAsc() and then findFirstByIdGreaterThanOrderByIdAsc(Long id), cannot find filter for deleted) from local database.
This breaks dgca-verifier-app-android if one or more certs are marked as deleted in local database, because dgca-verifier-app-android's fetch method checks if the returned certificate is in the list returned from /signercertificateStatus, pseudocode from VerifierRepositoryImpl.kt method fetchCertificate
//validCertList is list returned from /signercertificateStatusif (validCertList.contains(responseKid) && isKidValid(responseKid, responseStr)) {
// process the cert// Get next cert
newResumeToken?.let {
val newToken = it.toLong()
fetchCertificate(url, newToken)
}
}
// Cert fetching stops - dgca-verifier-app-android does not have all certs, verification of missing certs will fail.
Could you please check this issue ?
I found that restarting verifier ws will temporary resolve this issue (until next cert gets deleted), because it clears local database.
The text was updated successfully, but these errors were encountered:
@kristank could you please clarify: you mean in the app we receive responseKid that is not in the validCertList anymore? Because if yes - not clear how clearing local app database fixes the issue, as with next reload we would come to the same point again
Yes, /signercertificateUpdate returns a certificate, whose kid is not returned by /signercertificateStatus
Why restart helps – I did not examine the whole code for verifier WS, but I think by default h2 db is used with no persistent storage, so after restart the deleted certificates are purged from db – only active certs are transferred from GW.
I was contacted during an eHN TechIOP Meeting by a Slovenian representative about this, and I'm a bit surprised that the corresponding PR (eu-digital-green-certificates/dgca-verifier-app-android#323) wasn't reviewed yet. Could that still happen?
Hello,
This breaks dgca-verifier-app-android if one or more certs are marked as deleted in local database, because dgca-verifier-app-android's fetch method checks if the returned certificate is in the list returned from /signercertificateStatus, pseudocode from VerifierRepositoryImpl.kt method fetchCertificate
Could you please check this issue ?
I found that restarting verifier ws will temporary resolve this issue (until next cert gets deleted), because it clears local database.
The text was updated successfully, but these errors were encountered: