load mr signer and mr enclave from processors
This commit is contained in:
parent
33a93193c0
commit
4965623849
@ -56,6 +56,52 @@ impl InstanceMeasurement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn load_mr_signer_from_processor(self) -> Result<Self, RaTlsError> {
|
||||||
|
let quote = Self::generate_static_empty_quote()?;
|
||||||
|
|
||||||
|
let mr_signer_from_quote = quote.mrsigner().into();
|
||||||
|
|
||||||
|
if self.mrsigners.is_none() {
|
||||||
|
Ok(Self {
|
||||||
|
mrsigners: Some(vec![mr_signer_from_quote]),
|
||||||
|
..self
|
||||||
|
})
|
||||||
|
} else if !self
|
||||||
|
.mrsigners
|
||||||
|
.as_ref()
|
||||||
|
.unwrap()
|
||||||
|
.contains(&mr_signer_from_quote)
|
||||||
|
{
|
||||||
|
let mut mrsigners = self.mrsigners.clone().unwrap();
|
||||||
|
mrsigners.push(mr_signer_from_quote);
|
||||||
|
Ok(self.with_mrsigners(mrsigners))
|
||||||
|
} else {
|
||||||
|
Ok(self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn load_mr_enclave_from_processor(self) -> Result<Self, RaTlsError> {
|
||||||
|
let quote = Self::generate_static_empty_quote()?;
|
||||||
|
let mr_enclave_from_quote = quote.mrenclave().into();
|
||||||
|
|
||||||
|
if self.mrenclaves.is_none() {
|
||||||
|
Ok(Self {
|
||||||
|
mrenclaves: Some(vec![mr_enclave_from_quote]),
|
||||||
|
..self
|
||||||
|
})
|
||||||
|
} else if !self
|
||||||
|
.mrenclaves
|
||||||
|
.as_ref()
|
||||||
|
.unwrap()
|
||||||
|
.contains(&mr_enclave_from_quote)
|
||||||
|
{
|
||||||
|
let mut mrenclaves = self.mrenclaves.clone().unwrap();
|
||||||
|
mrenclaves.push(mr_enclave_from_quote);
|
||||||
|
Ok(self.with_mrsigners(mrenclaves))
|
||||||
|
} else {
|
||||||
|
Ok(self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn generate_static_empty_quote() -> Result<&'static Quote, RaTlsError> {
|
fn generate_static_empty_quote() -> Result<&'static Quote, RaTlsError> {
|
||||||
Ok(STATIC_QUOTE.as_ref().map_err(|e| e.clone())?)
|
Ok(STATIC_QUOTE.as_ref().map_err(|e| e.clone())?)
|
||||||
|
Loading…
Reference in New Issue
Block a user