diff --git a/app/src/main/java/com/owncloud/android/utils/EncryptionUtilsV2.kt b/app/src/main/java/com/owncloud/android/utils/EncryptionUtilsV2.kt index 60ba17da4a98..54c7733221d8 100644 --- a/app/src/main/java/com/owncloud/android/utils/EncryptionUtilsV2.kt +++ b/app/src/main/java/com/owncloud/android/utils/EncryptionUtilsV2.kt @@ -953,6 +953,10 @@ class EncryptionUtilsV2 { oldCounter: Long, signature: String ) { + if (signature.isEmpty()) { + return + } + if (decryptedFolderMetadataFile.metadata.counter < oldCounter) { MainApp.showMessage(R.string.e2e_counter_too_old) return @@ -962,7 +966,7 @@ class EncryptionUtilsV2 { val certs = decryptedFolderMetadataFile.users.map { EncryptionUtils.convertCertFromString(it.certificate) } val signedData = getSignedData(signature, message) - if (!verifySignedData(signedData, certs)) { + if (certs.isNotEmpty() && !verifySignedData(signedData, certs)) { MainApp.showMessage(R.string.e2e_signature_does_not_match) return } @@ -974,7 +978,7 @@ class EncryptionUtilsV2 { } } - fun getSignedData(base64encodedSignature: String, message: String): CMSSignedData { + private fun getSignedData(base64encodedSignature: String, message: String): CMSSignedData { val signature = EncryptionUtils.decodeStringToBase64Bytes(base64encodedSignature) val asn1Signature = ASN1Sequence.fromByteArray(signature) val contentInfo = ContentInfo.getInstance(asn1Signature)