EncryptionConfig

Built-in encryption configurations.

public class EncryptionConfig {
  public EncryptionMode encryptionMode;
  public String encryptionKey;
  public final byte[] encryptionKdfSalt = new byte[32];
  public boolean datastreamEncryptionEnabled;

  public EncryptionConfig() {
    encryptionMode = EncryptionMode.AES_128_GCM2;
    encryptionKey = null;
    datastreamEncryptionEnabled = false;
    java.util.Arrays.fill(encryptionKdfSalt, (byte) 0);
  }
}

Attributes

encryptionMode

The built-in encryption mode. See EncryptionMode. Agora recommends using AES_128_GCM2 or AES_256_GCM2 encrypted mode. These two modes support the use of salt for higher security.

encryptionKey

Encryption key in string type with unlimited length. Agora recommends using a 32-byte key.

Attention: If you do not set an encryption key or set it as NULL, you cannot use the built-in encryption, and the SDK returns -2.
encryptionKdfSalt

Salt, 32 bytes in length. Agora recommends that you use OpenSSL to generate salt on the server side. See Media Stream Encryption for details.

Attention: This parameter takes effect only in AES_128_GCM2 or AES_256_GCM2 encrypted mode. In this case, ensure that this parameter is not 0.
datastreamEncryptionEnabled
Whether to enable data stream encryption:
  • true: Enable data stream encryption.
  • false: (Default) Disable data stream encryption.