Cargo Features

[dependencies]
ssi = { version = "0.8.0", default-features = false, features = ["w3c", "dif", "ed25519", "secp256k1", "secp256r1", "secp384r1", "rsa", "tezos", "aleo", "eip712", "solana", "ethereum", "ripemd-160", "bbs", "ring", "http-did", "example"] }
default = ed25519, eip712, ripemd-160, rsa, secp256k1, secp256r1, w3c

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

w3c default

Signature suites specified by the W3C.

This will enable the following Data-Integrity suites:

  • JsonWebSignature2020
  • RsaSignature2018 (requires rsa)
  • Ed25519Signature2018 (requires ed25519)
  • Ed25519Signature2020 (requires ed25519)
  • EdDsa2022 (requires ed25519)
  • EcdsaSecp256k1Signature2019 (requires secp256k1)
  • EcdsaSecp256r1Signature2019 (requires secp256r1)
  • EthereumEip712Signature2021 (requires eip712)

Enables w3c of ssi-claims

dif

Signature suites specified by the Decentralized Identify Foundation (DIF).

This includes:

  • EcdsaSecp256k1RecoverySignature2020 (requires secp256k1)

Enables dif of ssi-claims

ed25519 default

Signature suites based on ED25519 (EdDSA).

This includes:

  • Ed25519Signature2018 (requires w3c)
  • Ed25519Signature2020 (requires w3c)
  • EdDsa2022 (requires w3c)

Enables ed25519 of ssi-claims

secp256k1 default

Signature suites based on secp256k1.

This includes:

  • EcdsaSecp256k1Signature2019 (requires w3c)
  • EcdsaSecp256k1RecoverySignature2020 (requires dif)

Enables secp256k1 of ssi-claims and ssi-dids

secp256r1 default

Signature suites based on secp256r1.

This includes:

  • EcdsaSecp256r1Signature2019 (requires w3c)
  • EcdsaRdfc2019 (requires w3c)

Enables secp256r1 of ssi-claims and ssi-dids

secp384r1

Enable secp384r1 keys and signature suites based on secp384r1.

This includes:

  • EcdsaRdfc2019 (requires w3c)

Enables secp384r1 of ssi-claims and ssi-dids

rsa default

Signature suites based on RSA.

This includes:

  • RsaSignature2018 (requires w3c)

Enables rsa of ssi-claims

tezos

Tezos signatures suites.

This includes:

  • TezosJcsSignature2021
  • TezosSignature2021
  • Ed25519BLAKE2BDigestSize20Base58CheckEncodedSignature2021 (requires ed25519)
  • P256BLAKE2BDigestSize20Base58CheckEncodedSignature2021 (requires secp256r1)

Enables tezos of ssi-caips, ssi-claims, and ssi-dids

aleo

Enables AleoSignature2021.

Enables aleo of ssi-caips, ssi-claims, and ssi-dids

eip712 default

Signature suites based on Ethereum EIP-712.

This includes:

  • Eip712Signature2021 (requires ethereum).
  • EthereumEip712Signature2021 (requires w3c)

Enables eip712 of ssi-claims

solana

Enables SolanaSignature2021

Enables solana of ssi-claims and ssi-dids

ethereum

Ethereum signature suites.

This includes:

  • EthereumPersonalSignature2021
  • Eip712Signature2021 (requires eip712)

Enables ethereum of ssi-claims, eip of ssi-dids and ssi-jwk

ripemd-160 default

Enable ripemd hashes.

Enables ripemd-160 of ssi-dids and ssi-jwk

bbs = ssi-bbs

Enable bbs.

Enables bbs of ssi-claims and ssi-crypto

ring

Use the Ring crate for crypto operations

Enables ring of ssi-crypto, ssi-jwk, and ssi-jws

http-did

Enable DID resolution tests using hyper and tokio.

Enables http of ssi-dids

example

Enable example DIDs.

Enables example of ssi-dids

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.

ssi-bbs bbs?