Cargo Features

[dependencies]
ssi-jwk = { version = "0.2.0", default-features = false, features = ["secp256k1", "secp256r1", "secp384r1", "ed25519", "rsa", "aleo", "ripemd-160", "eip", "tezos", "ring", "bbs"] }
default = ed25519, eip, ripemd-160, rsa, secp256k1, secp256r1

These default features are set whenever ssi-jwk is added without default-features = false somewhere in the dependency tree.

secp256k1 default eip ripemd-160 tezos? = getrandom, k256, rand

Enable secp256k1 keys.

Enables secp256k1 of ssi-crypto

Affects ssi-jwk::secp256k1_parse, ssi-jwk::secp256k1_parse_private, ssi-jwk::serialize_secp256k1

secp256r1 default tezos? = getrandom, p256, rand

Enable secp256r1 (p256) keys.

Affects ssi-jwk::p256_parse, ssi-jwk::serialize_p256

secp384r1 = getrandom, p384, rand

Enable secp384r1 (p384) keys.

Affects ssi-jwk::p384_parse, ssi-jwk::serialize_p384

ed25519 default = ed25519-dalek, getrandom, rand

Enable ed25519 (EdDSA) keys.

Affects ssi-jwk::ed25519_parse

rsa default

Enable RSA keys.

Enables rsa ^0.6

aleo = blake2, bs58, rand, snarkvm-algorithms, snarkvm-curves, snarkvm-dpc, snarkvm-parameters, snarkvm-utilities

Enable aleo ecosystem keys.

Not compatible with WASM targets.

Affects ssi-jwk::aleo

ripemd-160 default = secp256k1

enable ripemd-160 hashing for keys, e.g. for bitcoin.

Enables ripemd-160 of ssi-crypto

Affects ssi-jwk::ripemd160

eip default = k256, secp256k1

enable ethereum style key hashing.

Enables keccak of ssi-crypto

Affects ssi-jwk::eip155

tezos = blake2b_simd, bs58, secp256k1, secp256r1

enable tezos style key hashing.

Affects ssi-jwk::blakesig

ring

Enables ring ^0.16

bbs = rand, ssi-bbs

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.

k256 eip secp256k1
p256 secp256r1
p384 secp384r1?
rand aleo? bbs? ed25519 secp256k1 secp256r1 secp384r1?
ed25519-dalek ed25519
bs58 aleo? tezos?

Enables bs58 ^0.4

ssi-bbs bbs?
blake2b_simd tezos?

Enables blake2b_simd ^0.5

blake2 aleo?

Enables blake2 ^0.9

Required only for aleo All of these dependencies are out of date becaus snarkvm since dropped support for the Schnorr scheme, required by aleo.

snarkvm-dpc aleo?

Enables snarkvm-dpc ^0.7.9

snarkvm-algorithms aleo?

Enables snarkvm-algorithms ^0.7.9

snarkvm-curves aleo?

Enables snarkvm-curves ^0.7.9

snarkvm-utilities aleo?

Enables snarkvm-utilities ^0.7.9

snarkvm-parameters aleo?

Enables snarkvm-parameters ^0.7.9

getrandom wasm32 ed25519 secp256k1 secp256r1 secp384r1?