ironoxide 0.25.1

A pure-Rust SDK for accessing IronCore's privacy platform
Documentation
[package]
name = "ironoxide"
version = "0.25.1"
authors = [ "IronCore Labs <info@ironcorelabs.com>" ]
readme = "README.md"
license = "AGPL-3.0-only"
repository = "https://github.com/IronCoreLabs/ironoxide"
documentation = "https://docs.rs/ironoxide"
categories = [ "cryptography" ]
keywords = [ "cryptography", "proxy-re-encryption", "PRE", "ECC", "transform-encryption" ]
description = "A pure-Rust SDK for accessing IronCore's privacy platform"
edition = "2018"

[dependencies]
async-trait = "0.1.21"
base64 = "~0.13.0"
base64-serde = "~0.6.1"
bytes = "~1.0"
chrono = { version = "~0.4", features = [ "serde" ] }
dashmap = "4.0.1"
futures = "~0.3.1"
hex = "~0.4"
ironcore-search-helpers = { version = "~0.1.2", optional = true }
itertools = "~0.10.0"
jsonwebtoken = "~7.2"
lazy_static = "~1.4"
log = "~0.4"
percent-encoding = "~2.1"
protobuf = { version = "^2.20", features = [ "with-bytes" ] }
# default features force a dependency on openssl-sys, which we want to avoid for embedded applications
publicsuffix = { version = "~1.5.4", default-features = false }
quick-error = "~2.0"
rand = "~0.7"
rand_chacha = "~0.2.2"
recrypt = "~0.12"
regex = "~1.4"
reqwest = { version = "~0.11.0", features = [ "json" ], default-features = false }
ring = { version = "~0.16", features = [ "std" ] }
serde = { version = "~1.0", features = [ "derive" ] }
serde_json = "~1.0"
tokio = { version = "~1.0", features = [ "time" ] }
url = "~2.2.0"
vec1 = "~1.6.0"

[dev-dependencies]
anyhow = "~1.0.31"
criterion = "~0.3"
double = "~0.2.4"
galvanic-assert = "~0.8"
mut_static = "~5.0"
tokio = { version = "~1.0", features = [ "macros", "rt-multi-thread" ] }
uuid = { version = "~0.8", features = [ "v4" ], default-features = false }

[build-dependencies]
itertools = "~0.10.0"
protobuf-codegen-pure = "^2.20"

[features]
beta = [ "ironcore-search-helpers" ]
blocking = []

# NOTE: ironoxide requires a TLS implementation. Choose one of the following

# enable to use statically compiled openssl on supported OpenSSL platforms; use with 'default-features = false'
tls-vendored-openssl = [ "reqwest/native-tls-vendored" ]
# enable to use rustls-tls; use with 'default-features = false'
tls-rustls = [ "reqwest/rustls-tls" ]
# dynamically use the target platform's native TLS
tls-default = [ "reqwest/default-tls" ]

default = [ "tls-default", "tokio/rt-multi-thread" ]

[profile.dev]
opt-level = 2
debug = true

[profile.test]
opt-level = 2
debug = true

[profile.release]
opt-level = 3
debug = false
lto = true

[[example]]
name = "enc-search-sample"
required-features = [ "beta" ]

[[example]]
name = "encrypting"

[[example]]
name = "decrypting"

[[bench]]
name = "ironoxide_bench"
harness = false

[package.metadata.docs.rs]
all-features = true