Package fr.gouv.vitam.common.security

# Class SanityChecker

java.lang.Object
fr.gouv.vitam.common.security.SanityChecker

public class SanityChecker extends Object
Checker for Sanity of XML, Json and JsonL (json-lines)
Json : check if json is not exceed the limit size, if json does not contain script tag
XML: check if XML file is not exceed the limit size, and it does not contain CDATA, ENTITY or SCRIPT tag

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `HTTP_PARAMETER_VALUE`
  `static final String`
  `HTTP_PERSISTENT_ID_PARAMETER_VALUE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `checkHeaders(jakarta.ws.rs.core.HttpHeaders headers)`
  checkHeaders : Check sanity of Headers: no javascript/xml tag, neither html tag
  `static void`
  `checkHeadersMap(jakarta.ws.rs.core.MultivaluedMap<String,String> requestHeaders)`
  Checks sanity of Headers: no javascript/xml tag, neither html tag
  `static void`
  `checkHTMLFile(File file)`
  checkHTMLFile : Check if the file contains HTML content
  `static void`
  `checkJsonAll(com.fasterxml.jackson.databind.JsonNode json)`
  checkJsonAll : Check sanity of json : size, invalid tag
  `static void`
  `checkJsonAll(String json)`
  checkJsonAll : Check sanity of json : size, invalid tag
  `static void`
  `checkJsonFile(File jsonlFile)`
  `static void`
  `checkJsonLines(File jsonlFile)`
  `protected static void`
  `checkJsonSanity(com.fasterxml.jackson.databind.JsonNode json)`
  checkJsonSanity : check sanity of json and find invalid key
  `static void`
  `checkParameter(String... params)`
  checkParameter : Check sanity of String: no javascript/xml tag, neither html tag
  `static void`
  `checkUriParametersMap(jakarta.ws.rs.core.MultivaluedMap<String,String> uriParameters)`
  Checks sanity of Headers: no javascript/xml tag, neither html tag
  `static void`
  `checkXmlAll(File xmlFile)`
  checkXMLAll : check xml sanity all aspect : size, tag size, invalid tag
  `protected static void`
  `checkXmlSanityFileSize(File xmlFile)`
  CheckXMLSanityFileSize : check size of xml file
  `protected static void`
  `checkXmlSanityTags(File xmlFile)`
  CheckXMLSanityTags : check invalid tag contains of a xml file
  `protected static void`
  `checkXmlSanityTagValueSize(File xmlFile)`
  check XML Sanity Tag and Value Size
  `static int`
  `getLimitFieldSize()`
  `static long`
  `getLimitFileSize()`
  `static long`
  `getLimitJsonSize()`
  `static int`
  `getLimitParamSize()`
  `static String`
  `sanitizeJson(com.fasterxml.jackson.databind.JsonNode json)`
  Sabitize the json
  `static void`
  `setLimitFieldSize(int limitFieldSize)`
  `static void`
  `setLimitFileSize(long limitFileSize)`
  `static void`
  `setLimitJsonSize(long limitJsonSize)`
  `static void`
  `setLimitParamSize(int limitParamSize)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### HTTP_PARAMETER_VALUE

    public static final String HTTP_PARAMETER_VALUE
    See Also:
      - Constant Field Values

  - ### HTTP_PERSISTENT_ID_PARAMETER_VALUE

    public static final String HTTP_PERSISTENT_ID_PARAMETER_VALUE
    See Also:
      - Constant Field Values

- ## Method Details

  - ### checkXmlAll

    public static void checkXmlAll(File xmlFile) throws InvalidParseOperationException, IOException
    checkXMLAll : check xml sanity all aspect : size, tag size, invalid tag
    Parameters:
      `xmlFile` - as File
    Throws:
      `InvalidParseOperationException` - when parse file error
      `IOException` - when read file error
      `InvalidParseOperationException` - when Sanity Check is in error

  - ### sanitizeJson

    public static String sanitizeJson(com.fasterxml.jackson.databind.JsonNode json) throws InvalidParseOperationException
    Sabitize the json
    Parameters:
      `json` -
    Returns:
      sanitized json as String
    Throws:
      `InvalidParseOperationException`

  - ### checkJsonAll

    public static void checkJsonAll(com.fasterxml.jackson.databind.JsonNode json) throws InvalidParseOperationException
    checkJsonAll : Check sanity of json : size, invalid tag
    Parameters:
      `json` - as JsonNode
    Throws:
      `InvalidParseOperationException` - when Sanity Check is in error

  - ### checkJsonLines

    public static void checkJsonLines(File jsonlFile) throws IOException, InvalidParseOperationException
    Throws:
      `IOException`
      `InvalidParseOperationException`

  - ### checkJsonFile

    public static void checkJsonFile(File jsonlFile) throws IOException, InvalidParseOperationException
    Throws:
      `IOException`
      `InvalidParseOperationException`

  - ### checkJsonAll

    public static void checkJsonAll(String json) throws InvalidParseOperationException
    checkJsonAll : Check sanity of json : size, invalid tag
    Parameters:
      `json` - as String
    Throws:
      `InvalidParseOperationException` - when Sanity Check is in error

  - ### checkParameter

    public static void checkParameter(String... params) throws InvalidParseOperationException
    checkParameter : Check sanity of String: no javascript/xml tag, neither html tag
    Parameters:
      `params` -
    Throws:
      `InvalidParseOperationException`

  - ### checkHTMLFile

    public static void checkHTMLFile(File file) throws InvalidParseOperationException, IOException
    checkHTMLFile : Check if the file contains HTML content
    Parameters:
      `file` -
    Throws:
      `InvalidParseOperationException`
      `IOException`

  - ### checkHeaders

    public static void checkHeaders(jakarta.ws.rs.core.HttpHeaders headers) throws InvalidParseOperationException
    checkHeaders : Check sanity of Headers: no javascript/xml tag, neither html tag
    Parameters:
      `headers` -
    Throws:
      `InvalidParseOperationException`

  - ### checkHeadersMap

    public static void checkHeadersMap(jakarta.ws.rs.core.MultivaluedMap<String,String> requestHeaders) throws InvalidParseOperationException
    Checks sanity of Headers: no javascript/xml tag, neither html tag
    Parameters:
      `requestHeaders` -
    Throws:
      `InvalidParseOperationException`

  - ### checkUriParametersMap

    public static void checkUriParametersMap(jakarta.ws.rs.core.MultivaluedMap<String,String> uriParameters) throws InvalidParseOperationException
    Checks sanity of Headers: no javascript/xml tag, neither html tag
    Parameters:
      `uriParameters` -
    Throws:
      `InvalidParseOperationException`

  - ### checkXmlSanityTagValueSize

    protected static void checkXmlSanityTagValueSize(File xmlFile) throws InvalidParseOperationException, IOException
    check XML Sanity Tag and Value Size
    Parameters:
      `xmlFile` - xml file
    Throws:
      `IOException` - when read file error
      `InvalidParseOperationException` - when Sanity Check is in error

  - ### checkXmlSanityFileSize

    protected static void checkXmlSanityFileSize(File xmlFile) throws InvalidParseOperationException
    CheckXMLSanityFileSize : check size of xml file
    Parameters:
      `xmlFile` - as File
    Throws:
      `IOException` - when read file exception
      `InvalidParseOperationException` - when Sanity Check is in error

  - ### checkXmlSanityTags

    protected static void checkXmlSanityTags(File xmlFile) throws InvalidParseOperationException, IOException
    CheckXMLSanityTags : check invalid tag contains of a xml file
    Parameters:
      `xmlFile` - : XML file path as String
    Throws:
      `IOException` - when read file error
      `InvalidParseOperationException` - when Sanity Check is in error

  - ### checkJsonSanity

    protected static void checkJsonSanity(com.fasterxml.jackson.databind.JsonNode json) throws InvalidParseOperationException
    checkJsonSanity : check sanity of json and find invalid key
    Parameters:
      `json` - as JsonNode
    Throws:
      `InvalidParseOperationException` - when Sanity Check is in error

  - ### getLimitFileSize

    public static long getLimitFileSize()
    Returns:
      the limit File Size (XML or JSON)

  - ### setLimitFileSize

    public static void setLimitFileSize(long limitFileSize)
    Parameters:
      `limitFileSize` - the limit File Size to set (XML or JSON)

  - ### getLimitJsonSize

    public static long getLimitJsonSize()
    Returns:
      the limit Size of a Json

  - ### setLimitJsonSize

    public static void setLimitJsonSize(long limitJsonSize)
    Parameters:
      `limitJsonSize` - the limit Size of a Json to set

  - ### getLimitFieldSize

    public static int getLimitFieldSize()
    Returns:
      the limit Size of a Field in a Json

  - ### setLimitFieldSize

    public static void setLimitFieldSize(int limitFieldSize)
    Parameters:
      `limitFieldSize` - the limit Size of a Field in a Json to set

  - ### getLimitParamSize

    public static int getLimitParamSize()
    Returns:
      the limit Size of a parameter

  - ### setLimitParamSize

    public static void setLimitParamSize(int limitParamSize)
    Parameters:
      `limitParamSize` - the limit Size of a parameter to set