pub struct SgxSign { /* private fields */ }
Expand description
Wrapper for the enclave signing tool (sgx_sign).
The enclave signing tool ships as part of the Intel® Software Guard Extensions SDK. Signing an enclave is a process that involves producing a signature structure that contains enclave properties such as the enclave measurement. Once an enclave is signed in such structure, the modifications to the enclave file (such as code, data, signature, and so on) can be detected. The signing tool also evaluates the enclave image for potential errors and warns you about potential security hazards.
See Enclave Signing Tool Documentation for more details.
Implementations§
Source§impl SgxSign
impl SgxSign
Sourcepub fn allow_relocations(self, allow: bool) -> Self
pub fn allow_relocations(self, allow: bool) -> Self
Relocations are generally forbidden in the enclave shared object, this
tells the sgx_sign
utility to ignore those errors.
Sourcepub fn allow_init_sections(self, allow: bool) -> Self
pub fn allow_init_sections(self, allow: bool) -> Self
Whether or not to allow .init sections in the enclave.
Sourcepub fn allow_resign(self, allow: bool) -> Self
pub fn allow_resign(self, allow: bool) -> Self
Whether to re-sign a previously signed enclave (default: false)
Sourcepub fn sign(
&mut self,
unsigned_enclave: impl AsRef<Path>,
config_file: impl AsRef<Path>,
private_key: impl AsRef<Path>,
output_enclave: impl AsRef<Path>,
) -> Command
pub fn sign( &mut self, unsigned_enclave: impl AsRef<Path>, config_file: impl AsRef<Path>, private_key: impl AsRef<Path>, output_enclave: impl AsRef<Path>, ) -> Command
Generate the command to sign the given enclave object with the given private key and write the resulting enclave to the given path. Note that online signatures are inherently insecure.
Sourcepub fn gendata(
&mut self,
unsigned_enclave: impl AsRef<Path>,
config_file: impl AsRef<Path>,
output_datafile: impl AsRef<Path>,
) -> Command
pub fn gendata( &mut self, unsigned_enclave: impl AsRef<Path>, config_file: impl AsRef<Path>, output_datafile: impl AsRef<Path>, ) -> Command
Generate the command to create the data required for offline signing, and write it to the given output data path.
Sourcepub fn catsig(
&mut self,
unsigned_enclave: impl AsRef<Path>,
config_file: impl AsRef<Path>,
public_key_pem: impl AsRef<Path>,
enclave_signing_material: impl AsRef<Path>,
signature: impl AsRef<Path>,
output_enclave: impl AsRef<Path>,
) -> Command
pub fn catsig( &mut self, unsigned_enclave: impl AsRef<Path>, config_file: impl AsRef<Path>, public_key_pem: impl AsRef<Path>, enclave_signing_material: impl AsRef<Path>, signature: impl AsRef<Path>, output_enclave: impl AsRef<Path>, ) -> Command
Combine an unsigned enclave and signature into the output enclave, after checking the signature.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SgxSign
impl RefUnwindSafe for SgxSign
impl Send for SgxSign
impl Sync for SgxSign
impl Unpin for SgxSign
impl UnwindSafe for SgxSign
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more