Function sgxs::sgxs::copy_measured [−][src]
pub fn copy_measured<R: SgxsRead, W: SgxsWrite>(
reader: &mut R,
writer: &mut W
) -> Result<()>
Expand description
Copy only the measured bits of an SGXS stream.
Example
Compute ENCLAVEHASH from an SGXS:
extern crate crypto_hash;
extern crate sgxs;
use crypto_hash::{Hasher, Algorithm};
use sgxs::sgxs::{SgxsRead, Result, copy_measured};
fn enclavehash<R: SgxsRead>(stream: &mut R) -> Result<[u8; 32]> {
let mut hasher = Hasher::new(Algorithm::SHA256);
copy_measured(stream, &mut hasher)?;
let mut hash = [0u8; 32];
hash.copy_from_slice(&hasher.finish());
Ok(hash)
}