> For the complete documentation index, see [llms.txt](https://docs.sec1.io/user-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sec1.io/user-docs/4-sast/2-java/missing-support-for-integrity-check.md).

# Missing Support for Integrity Check

## Overview

* **Rule ID**: `java_lang_missing_integrity_check`
* **Applicable Languages**: Java
* **Weakness ID**: CWE-353

## Description

Without integrity checks ("checksums"), a protocol lacks the means to detect if transmitted data has been tampered with or altered by unauthorized parties, such as in a Man-in-the-Middle attack. This complicates the ability to verify the integrity of transmitted data.

## Remediation Guidelines

* **Employ** encryption schemes that incorporate integrity checks to verify that data has not been altered during transmission.

  ```java
  Cipher c = Cipher.getInstance("AES/GCM/PKCS5Padding");
  ```

## References

* [**Java Cipher class**](https://docs.oracle.com/en/java/javase/20/docs/api/java.base/javax/crypto/Cipher.html)
* [**CWE-353: Missing Support for Integrity Check**](https://cwe.mitre.org/data/definitions/353.html)
* [**OWASP Top 10: A08:2021 - Software and Data Integrity Failures**](https://owasp.org/Top10/A08_2021-Software_and_Data_Integrity_Failures/)

## Configuration

To omit this rule during a scan, and to provide you with continuous 24/7 code-level scanning, you can employ our [**SAST TOOL**](https://scopy.sec1.io/login)
