public abstract class

EnumCipher

extends Object
java.lang.Object
   ↳ com.microstrategy.webapi.EnumCipher

Class Overview

This class identifies the encryption cipher used. Each cipher is uniquely identified by its version string, getVersion().

Summary

Constants
int VERSION_SIZE Size of the version in hex encoded bytes.
int VERSION_SIZE_BYTES
Fields
public static final EnumCipher AES
public static final EnumCipher TEA
Public Methods
boolean equals(Object obj)
static EnumCipher getBestSupported()
Exercise care when using this method to obtain best encryption cipher as older clients will not be able to decrypt such strings.
static EnumCipher getCompatible(String serverName, int port)
Even though an Intelligence Server is able to support a given encryption, such as AES, it may still opt to have data stored encrypted in an older format to enable backwards compatibility with older clients.
static EnumCipher getEnumCipher(String versionPrefixedEncoded)
Identifies the EnumCipher instance given a version string.
static EnumCipher getEnumCipher(byte[] preamble, int offset)
String getVersion()
byte[] getVersionBytes()
int hashCode()
abstract boolean isSupported()
Checks whether this encryption scheme is supported by the Web application.
abstract boolean isSupported(String serverName, int port)
String toString()
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int VERSION_SIZE

Size of the version in hex encoded bytes.

Constant Value: 8 (0x00000008)

public static final int VERSION_SIZE_BYTES

Constant Value: 4 (0x00000004)

Fields

public static final EnumCipher AES

public static final EnumCipher TEA

Public Methods

public boolean equals (Object obj)

public static EnumCipher getBestSupported ()

Exercise care when using this method to obtain best encryption cipher as older clients will not be able to decrypt such strings.

Returns
  • the best supported cipher on the Web server. This may not be supported by the Intelligence Server.

public static EnumCipher getCompatible (String serverName, int port)

Even though an Intelligence Server is able to support a given encryption, such as AES, it may still opt to have data stored encrypted in an older format to enable backwards compatibility with older clients.

Parameters
serverName Intelligence Server name
port Intelligence Server port
Returns
  • compatible cipher that should be used for encrypting data stored in the metadata.

public static EnumCipher getEnumCipher (String versionPrefixedEncoded)

Identifies the EnumCipher instance given a version string. Returns TEA by default if version string is indeterminate.

Returns

public static EnumCipher getEnumCipher (byte[] preamble, int offset)

public String getVersion ()

public byte[] getVersionBytes ()

public int hashCode ()

public abstract boolean isSupported ()

Checks whether this encryption scheme is supported by the Web application. Also see isSupported(String, int) to check support by Intelligence Server.

Returns
  • whether this encryption scheme is supported by the Web application.

public abstract boolean isSupported (String serverName, int port)

Parameters
serverName Intelligence Server name
port Intelligence Server port
Returns
  • whether this encryption scheme is supported by the Intelligence Server.

public String toString ()