Class SecurityUtils

java.lang.Object
net.sourceforge.plantuml.security.SecurityUtils

public class SecurityUtils extends Object
  • Field Details

    • NO_CREDENTIALS

      public static final String NO_CREDENTIALS
      Indicates, that we have no authentication and credentials to access the URL.
      See Also:
    • PATHS_CLASSES

      public static final String PATHS_CLASSES
      Java class paths to import files from.
      See Also:
    • PATHS_INCLUDES

      public static final String PATHS_INCLUDES
      Paths to include files.
      See Also:
    • ALLOWLIST_LOCAL_PATHS

      public static final String ALLOWLIST_LOCAL_PATHS
      Whitelist of paths from where scripts can load data.
      See Also:
    • ALLOWLIST_URL

      public static final String ALLOWLIST_URL
      Whitelist of urls
      See Also:
    • PATHS_SECURITY

      public static final String PATHS_SECURITY
      Paths to folders with security specific content (not allowed to read via SFile).
      See Also:
    • SECURITY_ALLOW_NONSSL_AUTH

      public static final String SECURITY_ALLOW_NONSSL_AUTH
      See Also:
  • Constructor Details

    • SecurityUtils

      public SecurityUtils()
  • Method Details

    • ignoreThisLink

      public static boolean ignoreThisLink(String url)
    • readRasterImage

      public static BufferedImage readRasterImage(ImageIcon imageIcon)
    • getSecurityProfile

      public static SecurityProfile getSecurityProfile()
    • getenv

      public static String getenv(String name)
    • isSecurityEnv

      public static boolean isSecurityEnv(String name)
      Checks the environment variable and returns true if the variable is used in security context. In this case, the value should not be displayed in scripts.
      Parameters:
      name - Environment variable to check
      Returns:
      true, if this is a secret variable
    • isNonSSLAuthenticationAllowed

      public static boolean isNonSSLAuthenticationAllowed()
      Configuration for Non-SSL authentication methods.
      Returns:
      true, if plantUML should allow authentication in plain connections (without encryption).
      See Also:
    • getPath

      public static List<SFile> getPath(String prop)
    • allowSvgText

      public static boolean allowSvgText()
    • createPrintWriter

      public static PrintWriter createPrintWriter(OutputStream os)
    • createPrintWriter

      public static PrintWriter createPrintWriter(OutputStream os, boolean append)
    • createPrintStream

      public static PrintStream createPrintStream(OutputStream os)
    • createPrintStream

      public static PrintStream createPrintStream(OutputStream os, boolean autoFlush, String charset) throws UnsupportedEncodingException
      Throws:
      UnsupportedEncodingException
    • createPrintStream

      public static PrintStream createPrintStream(OutputStream os, boolean autoFlush, Charset charset) throws UnsupportedEncodingException
      Throws:
      UnsupportedEncodingException
    • createFileReader

      public static FileReader createFileReader(String path) throws FileNotFoundException
      Throws:
      FileNotFoundException
    • createPrintWriter

      public static PrintWriter createPrintWriter(String path) throws FileNotFoundException
      Throws:
      FileNotFoundException
    • createFileOutputStream

      public static FileOutputStream createFileOutputStream(String path) throws FileNotFoundException
      Throws:
      FileNotFoundException
    • getAuthenticationManager

      public static SecurityAuthorizeManager getAuthenticationManager(SecurityCredentials credentialConfiguration)
      Returns the authorize-manager for a security credentials configuration.
      Parameters:
      credentialConfiguration - the credentials
      Returns:
      the manager.
    • getAccessInterceptor

      public static SecurityAccessInterceptor getAccessInterceptor(SecurityAuthentication authentication)
      Returns the authentication interceptor for a SecurityAuthentication.
      Parameters:
      authentication - the authentication data
      Returns:
      the interceptor.
    • existsSecurityCredentials

      public static boolean existsSecurityCredentials(String userToken)
      Checks if user credentials existing.
      Parameters:
      userToken - name of the credential file
      Returns:
      boolean, if exists
    • loadSecurityCredentials

      public static SecurityCredentials loadSecurityCredentials(String userToken)
      Loads the user credentials from the file system.
      Parameters:
      userToken - name of the credential file
      Returns:
      the credentials or NONE
    • getSecurityPath

      public static SFile getSecurityPath()
      Loads the path to the configured security folder, if existing.

      Please note: A SFile referenced to a security folder cannot access the files. The content of the files in the security path should never have passed to DSL scripts.

      Returns:
      SFile folder or null