Cargo Features

[dependencies]
sev = { version = "4.0.0", default-features = false, features = ["openssl", "hw_tests", "dangerous_hw_tests", "sev", "snp", "crypto_nossl"] }
default = sev, snp

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

openssl = rdrand

Enables openssl

Affects sev::Verifiable, sev::Signer, sev::PrivateKey, snp::Signer, error::CertFormatError, error::SessionError, snp::ca, snp::builtin, snp::Verifiable, sev::session, measurement::gctx, measurement::snp, measurement::sev, measurement::idblock, measurement::idblock_types, sev::measurement, measurement::sev_hashes

hw_tests dangerous_hw_tests?
dangerous_hw_tests = hw_tests
sev default

Affects certs::sev, ioctl::PLATFORM_RESET, ioctl::PLATFORM_STATUS, ioctl::PEK_GEN, ioctl::PEK_CSR, ioctl::PDH_GEN, ioctl::PDH_CERT_EXPORT, ioctl::PEK_CERT_IMPORT, types::PlatformReset, ioctl::INIT, ioctl::ES_INIT, ioctl::LAUNCH_START, ioctl::LAUNCH_UPDATE_DATA, ioctl::LAUNCH_UPDATE_VMSA, ioctl::LAUNCH_SECRET, ioctl::LAUNCH_MEASUREMENT, ioctl::LAUNCH_FINISH, ioctl::LAUNCH_ATTESTATION, launch::sev, sev::sev_init

snp default

Affects certs::snp, ioctl::SNP_PLATFORM_STATUS, ioctl::SNP_COMMIT, ioctl::SNP_SET_CONFIG, ioctl::SNP_VLEK_LOAD, snp::SnpCommit, snp::SnpSetConfig, snp::WrappedVlekHashstick, snp::SnpVlekLoad, linux::guest, firmware::guest, ioctl::SNP_INIT, ioctl::SNP_LAUNCH_START, ioctl::SNP_LAUNCH_UPDATE, ioctl::SNP_LAUNCH_FINISH, launch::snp, ioctl::GET_ID, types::GetId, firmware::host, ioctl::ENC_REG_REGION

crypto_nossl

Enables p384, rsa, sha2, and x509-cert

Affects snp::ca, snp::builtin, snp::Verifiable

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.

rdrand openssl?