	public void testCBCPaddingOracleAttackOldConcatKDF()
		throws Exception {
		
		SecretKey inputKey = new SecretKeySpec(INPUT_KEY_256, "AES");
		
		Assert.assertArrayEquals("Input key", INPUT_KEY_256, inputKey.getEncoded());
		
		AuthenticatedCipherText act = AESCBC.encryptWithConcatKDF(
			new JWEHeader(JWEAlgorithm.RSA1_5, EncryptionMethod.A128CBC_HS256_DEPRECATED),
			new SecretKeySpec(INPUT_KEY_256, "AES"),
			Base64URL.encode(INPUT_KEY_256), // mock
			IV,
			PLAIN_TEXT,
			null,
			null
			);
		
		byte[] cipherText = act.getCipherText();
		
		// Now change the cipher text to make CBC padding invalid.
		cipherText[cipherText.length - 1] ^= 0x01;
		
		try {
			AESCBC.decryptWithConcatKDF(
				new JWEHeader(JWEAlgorithm.RSA1_5, EncryptionMethod.A128CBC_HS256_DEPRECATED),
				new SecretKeySpec(INPUT_KEY_256, "AES"),
				Base64URL.encode(INPUT_KEY_256), // mock
				Base64URL.encode(IV),
				Base64URL.encode(cipherText),
				Base64URL.encode(act.getAuthenticationTag()),
				null,
				null
			);
		} catch (JOSEException e) {
			assertEquals("MAC check failed", e.getMessage());
		}
	}
The software does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission.