As the project is currently structured, the v0.2.0 release appears to be unusable when pulling from crates.io
As the code is currently structured/written, the only way to reasonably read a random number is using the nsm_lib::nsm_get_random. However, the nsm_lib code is unreachable when pulling the dependency from crates.io as follows in a Cargo.toml file:
aws-nitro-enclaves-nsm-api = "0.2.1"
since the nsm_lib library is placed as a sub-crate within the aws-nitro-enclaves-nsm-api crate, and cargo does not appear to have a way to reference crates this way.
This means that users wanting to pull random numbers from NSM need to specify the dependency as pulling from a tag on github as follows in a Cargo.toml file:
which is fine, but the aws-nitro-enclaves-nsm-api has been published to crates.io, so it was apparently your intention that this be possible.
There is evidence that there is work in progress to add accessor functions in aws-nitro-enclave-nsm-api for the nsm-lib functions (perhaps preventing us from having to use unsafe), but this work appears to be incomplete.
As the project is currently structured, the v0.2.0 release appears to be unusable when pulling from crates.io
As the code is currently structured/written, the only way to reasonably read a random number is using the
nsm_lib::nsm_get_random
. However, thensm_lib
code is unreachable when pulling the dependency from crates.io as follows in aCargo.toml
file:since the
nsm_lib
library is placed as a sub-crate within theaws-nitro-enclaves-nsm-api
crate, andcargo
does not appear to have a way to reference crates this way.This means that users wanting to pull random numbers from NSM need to specify the dependency as pulling from a tag on github as follows in a
Cargo.toml
file:which is fine, but the
aws-nitro-enclaves-nsm-api
has been published to crates.io, so it was apparently your intention that this be possible.There is evidence that there is work in progress to add accessor functions in
aws-nitro-enclave-nsm-api
for thensm-lib
functions (perhaps preventing us from having to useunsafe
), but this work appears to be incomplete.