java.overview.html Maven / Gradle / Ivy
Show all versions of ionic-sdk Show documentation
The Machina SDK exposes functions to perform key management, data encryption, profile management, and logging.
Key Management allows users to create, fetch, and update symmetric keys with granular data attributes. Machina
SDKs perform data encryption at multiple layers of abstraction. You can encrypt / decrypt either strings or
files. Profile management allows for secured and authenticated communications with Machina.
Key Management
Users may perform key management operations using the built-in
KeyServices implementation
Agent.
- Create a key using API createKey() and variants.
- Fetch a key using API getKey() and variants.
- Update attributes of a key using API updateKey() and variants.
Key operations allow the specification of Key Attributes,
which can be used to classify data associated with the key. Machina policy decisions allowing key release may be based
on these attributes.
Data Encryption
The Machina Tools SDKs provide the built-in ability to encrypt / decrypt either strings or files.
String Encryption
Encryption of strings may be done using one of the chunk cipher implementations in the package
com.ionic.sdk.agent.cipher.chunk. Choose a chunk
cipher based on the security, integrity, and size limitation requirements of your use case.
File Encryption
Encryption of filesystem files may be done using one of the file cipher implementations in the package
com.ionic.sdk.agent.cipher.file. Choose a file
cipher based on the requirements of your use case.
Profile Management
In order to secure client communications with Machina, devices must first enroll with their key service. This may
be done using the Agent API createDevice().
Once enrolled, the enrollment data may be persisted to the device filesystem using of the implementations of
ProfilePersistor.
Errors
On operation failures when using the Machina Tools Java APIs, the exception
IonicException is thrown. This exception may wrap additional exceptions,
including platform or server exceptions, so be sure to check the exception cause for additional contextual
information.
The error codes defined in the SDK are specified in constants classes found in the package
com.ionic.sdk.error. Additional error codes may be provided by
other Machina components.