[−][src]Crate sdkms
API bindings for Fortanix SDKMS.
The SdkmsClient
type provides access to REST APIs exposed by SDKMS through method calls.
Input/output types are defined in api_model
.
Example
Here is a quick example for how to use this crate. A more extensive set of examples can be found in the source repository
use sdkms::api_model::*; use sdkms::{Error, SdkmsClient}; fn main() -> Result<(), Error> { let client = SdkmsClient::builder() .with_api_endpoint("https://sdkms.fortanix.com") .with_api_key("MDczMjNlNmUtYzliZC...") // replace with an actual API key! .build()?; let encrypt_resp = client.encrypt(&EncryptRequest { plain: "hello, world!".into(), alg: Algorithm::Aes, key: Some(SobjectDescriptor::Name("my AES key".to_owned())), mode: Some(CryptMode::Symmetric(CipherMode::Cbc)), iv: None, ad: None, tag_len: None, })?; let decrypt_resp = client.decrypt(&DecryptRequest { cipher: encrypt_resp.cipher, iv: encrypt_resp.iv, key: Some(SobjectDescriptor::Name("my AES key".to_owned())), mode: Some(CryptMode::Symmetric(CipherMode::Cbc)), alg: None, ad: None, tag: None, })?; let plain = String::from_utf8(decrypt_resp.plain.into()).expect("valid utf8"); println!("{}", plain); Ok(()) }
Re-exports
pub use api_model::Error; |
Modules
api_model | |
operations |
Structs
PendingApproval | |
SdkmsClient | A client session with SDKMS. |
SdkmsClientBuilder | A builder for |
Constants
DEFAULT_API_ENDPOINT |
Type Definitions
Result |