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> {
|
||||
Ok(STATIC_QUOTE.as_ref().map_err(|e| e.clone())?)
|
||||
|
Loading…
Reference in New Issue
Block a user