Skip to main content

Public

Enum Public 

Source
pub enum Public {
    Rsa {
        object_attributes: ObjectAttributes,
        name_hashing_algorithm: HashingAlgorithm,
        auth_policy: Digest,
        parameters: PublicRsaParameters,
        unique: PublicKeyRsa,
    },
    KeyedHash {
        object_attributes: ObjectAttributes,
        name_hashing_algorithm: HashingAlgorithm,
        auth_policy: Digest,
        parameters: PublicKeyedHashParameters,
        unique: Digest,
    },
    Ecc {
        object_attributes: ObjectAttributes,
        name_hashing_algorithm: HashingAlgorithm,
        auth_policy: Digest,
        parameters: PublicEccParameters,
        unique: EccPoint,
    },
    SymCipher {
        object_attributes: ObjectAttributes,
        name_hashing_algorithm: HashingAlgorithm,
        auth_policy: Digest,
        parameters: SymmetricCipherParameters,
        unique: Digest,
    },
}
Expand description

Enum representing the Public structure.

§Details

This corresponds to TPMT_PUBLIC

This object can be serialized and deserialized using serde if the serde feature is enabled.

Variants§

§

Rsa

Fields

§object_attributes: ObjectAttributes
§name_hashing_algorithm: HashingAlgorithm
§auth_policy: Digest
§

KeyedHash

Fields

§object_attributes: ObjectAttributes
§name_hashing_algorithm: HashingAlgorithm
§auth_policy: Digest
§unique: Digest
§

Ecc

Fields

§object_attributes: ObjectAttributes
§name_hashing_algorithm: HashingAlgorithm
§auth_policy: Digest
§unique: EccPoint
§

SymCipher

Fields

§object_attributes: ObjectAttributes
§name_hashing_algorithm: HashingAlgorithm
§auth_policy: Digest
§unique: Digest

Implementations§

Source§

impl Public

Source

pub fn object_attributes(&self) -> ObjectAttributes

Returns the object attributes

Source

pub fn name_hashing_algorithm(&self) -> HashingAlgorithm

Returns the name hashing algorithm

Source

pub fn symmetric_algorithm(&self) -> Result<SymmetricDefinitionObject>

Returns the name symmetric definition object if available

Source

pub fn auth_policy(&self) -> &Digest

Returns the auth policy digest.

Source

pub const fn builder() -> PublicBuilder

Get a builder for this structure

Trait Implementations§

Source§

impl Clone for Public

Source§

fn clone(&self) -> Public

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Public

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<Public> for TPMT_PUBLIC

Source§

fn from(public: Public) -> Self

Converts to this type from the input type.
Source§

impl Marshall for Public

Source§

const BUFFER_SIZE: usize

Source§

fn marshall_offset( &self, marshalled_data: &mut [u8], offset: &mut usize, ) -> Result<()>

Writes the type in the form of marshalled data to marshalled_data, and modifies the offset to point to the first byte in the buffer which was not written in the conversion.
Source§

fn marshall(&self) -> Result<Vec<u8>>

Returns the type in the form of marshalled data
Source§

impl PartialEq for Public

Source§

fn eq(&self, other: &Public) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<C> TryFrom<&Public> for PublicKey<C>

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: &Public) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<&Public> for SubjectPublicKeyInfoOwned

Source§

fn try_from(value: &Public) -> Result<Self, Self::Error>

Converts crate::structures::Public::Rsa and crate::structures::Public::Ecc to x509_cert::spki::SubjectPublicKeyInfoOwned.

§Details

The result can be used to convert TPM public keys to DER using x509-cert.

§Errors
Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

impl TryFrom<Public> for PublicBuffer

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(public: Public) -> Result<PublicBuffer>

Performs the conversion.
Source§

impl TryFrom<Public> for PublicKey

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(public: Public) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<Public> for TPM2B_PUBLIC

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(public: Public) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<PublicBuffer> for Public

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(buf: PublicBuffer) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<TPM2B_PUBLIC> for Public

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(tpm2b_public: TPM2B_PUBLIC) -> Result<Self>

Performs the conversion.
Source§

impl TryFrom<TPMT_PUBLIC> for Public

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(tpmt_public: TPMT_PUBLIC) -> Result<Self>

Performs the conversion.
Source§

impl UnMarshall for Public

Source§

fn unmarshall_offset(marshalled_data: &[u8], offset: &mut usize) -> Result<Self>

Creates the type from the marshalled data, and modifies the offset to point to the first byte in the marshalled_data buffer which was not used in the conversion.
Source§

fn unmarshall(marshalled_data: &[u8]) -> Result<Self>

Creates the type from marshalled data.
Source§

impl Eq for Public

Source§

impl StructuralPartialEq for Public

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.