[−][src]Crate ironoxide
IronOxide - IronCore Labs Rust SDK
The IronOxide Rust SDK is a pure Rust library that integrates IronCore's privacy, security, and data control solution into your Rust application. Operations in the IronOxide SDK are performed in the context of a user or backend service account. This SDK supports all possible operations that work in the IronCore platform including creating and managing users and groups, encrypting and decrypting document bytes, and granting and revoking access to documents to users and groups.
User Operations
The IronOxide SDK user methods allow for multiple operations to manage your synced users/service accounts from your application into the IronCore platform:
- Lookup existing synced users in the IronCore system given their unique account IDs
- Sync and generate cryptographic keys for authenticated users from your application into IronCore
- List, create, and delete cryptographic device keys for synced users
- List a users devices
Document Operations
All secret data that is encrypted using the IronCore platform are referred to as documents. Documents wrap the raw bytes of secret data to encrypt along with various metadata that helps convey access information to that data. Documents can be encrypted, decrypted, updated, granted to users and groups, and revoked from users and groups.
Group Operations
Groups are one of the many differentiating features of the IronCore platform. This SDK allows for easy management of your cryptographic groups. Groups can be created, updated, and deleted along with management of a groups administrators and members.
Modules
document | SDK document operations |
group | SDK group operations |
prelude | Convenience re-export of essential IronOxide types |
user | SDK user operations |
Structs
DeviceContext | Accounts device context. Needed to initialize the Sdk with a set of device keys. See |
DeviceSigningKeyPair | Signing keypair specific to a device. Used to sign all requests to the IronCore API
endpoints. Needed to create a |
IronOxide | Struct that is used to make authenticated requests to the IronCore API. Instantiated with the details of an accounts various ids, device, and signing keys. Once instantiated all operations will be performed in the context of the account provided. |
KeyPair | Public/Private assymetric keypair that is used for decryption/encryption. |
PrivateKey | Represents an asymmetric private key that wraps the underlying bytes of the key. |
PublicKey | Represents an asymmetric public key that wraps the underlying bytes of the key. |
Enums
IronOxideErr | Errors generated by IronOxide SDK operations |
Functions
initialize | Initialize the IronOxide SDK with a device. Verifies that the provided user/segment exists and the provided device keys are valid and exist for the provided account. If successful returns an instance of the IronOxide SDK |
Type Definitions
Result | Result of an Sdk operation |