Cargo Features

[dependencies]
product-os-security = { version = "0.0.28", default-features = false, features = ["all", "generator", "mac", "password_hash", "hash", "hasher", "jwt_encrypt_decrypt", "jwt_auth_verify", "byte_vector", "auth_verify", "diffie_hellman_key_store", "symmetric_encrypt_decrypt", "time_otp", "string_safe", "certificates_custom", "jwt_encrypt_decrypt_std", "diffie_hellman_client_server_key_store", "public_private_encrypt_decrypt", "public_private_sign_verify", "vendored-openssl", "certificates", "open_ssl", "file", "urlencoding", "totp-lite", "arbitrary"] }
default all? = jwt_auth_verify

These default features are set whenever product-os-security is added without default-features = false somewhere in the dependency tree.

Enables product-os-async-executor and product-os-random, std of no-std-compat and clock of chrono

Date and Time Handling

all = auth_verify, byte_vector, certificates, default, diffie_hellman…server_key_store, diffie_hellman_key_store, file, generator, hash, jwt_auth_verify, jwt_encrypt_decrypt, mac, password_hash, public_private_encrypt_decrypt, public_private_sign_verify, string_safe, symmetric_encrypt_decrypt, time_otp, vendored-openssl
generator all? auth_verify? hash? jwt_auth_verify

Enables constrained of product-os-random

mac all? auth_verify? time_otp? = blake2
password_hash all?

Enables alloc and password-hash of argon2 ^0.4.0, constrained and custom of product-os-random

Affects product-os-security::password_hash, product-os-security::password_verify

hash all? auth_verify? = blake2, generator

Affects product-os-security::create_salted_hash, product-os-security::create_hash, product-os-security::verify_hash, product-os-security::create_string_hash

hasher = blake2

Affects product-os-security::ProductOSHasher

jwt_encrypt_decrypt all? = orion

Enables alloc of base64 ^0.21.5

Affects product-os-security::base64_encode, product-os-security::base64_decode

jwt_auth_verify default all? = generator, jwt-compact, serde

Enables alloc of chrono, moment of product-os-async-executor

Affects product-os-security::JWTGenerator, product-os-security::TokenClaims, product-os-security::DefaultClaims, product-os-security::EmptyClaims, product-os-security::JWTError

byte_vector all?

Enables alloc of serde_json

JSON data representation

Affects product-os-security::AsByteVector

auth_verify all? = generator, hash, mac, product-os-urlencoding

Enables alloc of hex and serde_json

Affects product-os-security::create_auth_request, product-os-security::verify_auth_request, product-os-security::create_auth_request_json, product-os-security::verify_auth_request_json, product-os-security::create_auth_query, product-os-security::verify_auth_query, product-os-security::create_auth_headers, product-os-security::verify_auth_headers, product-os-security::create_auth_payload, product-os-security::verify_auth_payload, product-os-security::create_auth_json, product-os-security::verify_auth_json, product-os-security::create_auth, product-os-security::verify_auth, product-os-security::hex_encode, product-os-security::hex_decode

diffie_hellman_key_store all? = hkdf, sha2, uuid, x25519-dalek

Enables constrained and custom of product-os-random, v4 of uuid

Affects product-os-security::DHKeyStore

symmetric_encrypt_decrypt all? = orion

Enables constrained of product-os-random

Affects product-os-security::CryptoError, product-os-security::symmetric_encrypt, product-os-security::symmetric_decrypt

time_otp all? = mac

Enables alloc of chrono, moment of product-os-async-executor

string_safe all? = product-os-urlencoding

Affects product-os-security::encode_uri_component, product-os-security::decode_uri_component

certificates_custom = const-oid, der, rsa, rustls, rustls-pemfile, sha2, signature, spki

Enables alloc of chrono, constrained and custom of product-os-random

Affects product-os-security::certificates_custom

jwt_encrypt_decrypt_std

std

Enables safe_api of orion

diffie_hellman_client_server_key_store all?

Enables std of no-std-compat, safe_api of orion, serde and v4 of uuid

Affects product-os-security::DHClientServerSessionKind, product-os-security::DHClientServerKeyStore

public_private_encrypt_decrypt all?

Enables product-os-random, std of no-std-compat

Affects product-os-security::RSA

public_private_sign_verify all?

Enables std of ring ^0.16.20

Affects product-os-security::KeyError, product-os-security::generate_public_private_keys, product-os-security::get_public_key, product-os-security::private_key_sign, product-os-security::public_key_verify

vendored-openssl all?

Enables vendored of openssl

certificates all? = rcgen, rustls, rustls-pemfile

Affects product-os-security::certificates

open_ssl = openssl

Affects certificates::SSLCertificate

file all?

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

blake2 hash? hasher? mac?
argon2 password_hash?

Enables argon2 ^0.4.0

orion diffie_hellman…server_key_store? jwt_encrypt_decrypt? jwt_encrypt_decrypt_std? symmetric_encrypt_decrypt?
ring public_private_sign_verify?

Enables ring ^0.16.20

x25519-dalek diffie_hellman_key_store?
hkdf diffie_hellman_key_store?
jwt-compact jwt_auth_verify
sha2 certificates_custom? diffie_hellman_key_store?
urlencoding implicit feature

Enables urlencoding

urlencoding:

A Rust library for doing URL percentage encoding

serde jwt_auth_verify
serde_json auth_verify? byte_vector?
hex auth_verify?
base64 jwt_encrypt_decrypt?

Enables base64 ^0.21.5

uuid diffie_hellman…server_key_store? diffie_hellman_key_store?
chrono default certificates_custom? jwt_auth_verify time_otp?
totp-lite implicit feature

Enables totp-lite

Time based OTP

const-oid certificates_custom?

Enables const-oid

TLS support

der certificates_custom?
spki certificates_custom?
signature certificates_custom?
rsa certificates_custom?
rustls certificates? certificates_custom?

Enables rustls ^0.21.8

TLS library for Rust

rcgen certificates?

Enables rcgen ^0.11.3

Generate self-signed certificate

rustls-pemfile certificates? certificates_custom?

Enables rustls-pemfile ^1.0.4

Generate self-signed certificate

openssl open_ssl? vendored-openssl?
product-os-random default certificates_custom? diffie_hellman_key_store? generator? password_hash? public_private_encrypt_decrypt? symmetric_encrypt_decrypt?
product-os-async-executor default jwt_auth_verify time_otp?
product-os-urlencoding auth_verify? string_safe?
arbitrary implicit feature

Enables arbitrary

arbitrary:

The trait for generating structured data from unstructured data