Equivalente de la API de protección de datos en Linux

Microsoft Windows 2000 y versiones posteriores exponen el API de protección de datos (DPAPI) que cifra los datos para un contexto por usuario o por sistema. La persona que llama no proporciona una clave para cifrar los datos. En cambio, los datos se cifran con una clave derivada de las credenciales del usuario o del sistema.

Esta API está convenientemente expuesta en .NET a través de ProtectedData clase

// Encrypts the data in a specified byte array and returns a byte array
// that contains the encrypted data.
public static byte[] Protect(
    byte[] userData,
    byte[] optionalEntropy,
    DataProtectionScope scope
)

// Decrypts the data in a specified byte array and returns a byte array
// that contains the decrypted data.
public static byte[] Unprotect(
    byte[] encryptedData,
    byte[] optionalEntropy,
    DataProtectionScope scope
)

¿Existe una API equivalente en Linux? Una ventaja sería que se integra convenientemente con Java.

¿Cuáles son mis alternativas si no hay una?

Respuestas a la pregunta(2)

Su respuesta a la pregunta