security_framework::key

Struct SecKey

Source
pub struct SecKey(/* private fields */);
Expand description

A type representing an encryption key.

Implementations§

Source§

impl SecKey

Source

pub fn new(options: &GenerateKeyOptions) -> Result<Self, CFError>

Translates to SecKeyCreateRandomKey

Source

pub fn generate(attributes: CFDictionary) -> Result<Self, CFError>

👎Deprecated: Use SecKey::new

Translates to SecKeyCreateRandomKey GenerateKeyOptions provides a helper to create an attribute CFDictionary.

Source

pub fn application_label(&self) -> Option<Vec<u8>>

Returns the programmatic identifier for the key. For keys of class kSecAttrKeyClassPublic and kSecAttrKeyClassPrivate, the value is the hash of the public key.

Source

pub fn attributes(&self) -> CFDictionary

Translates to SecKeyCopyAttributes

Source

pub fn external_representation(&self) -> Option<CFData>

Translates to SecKeyCopyExternalRepresentation

Source

pub fn public_key(&self) -> Option<Self>

Translates to SecKeyCopyPublicKey

Source

pub fn create_signature( &self, algorithm: Algorithm, input: &[u8], ) -> Result<Vec<u8>, CFError>

Creates the cryptographic signature for a block of data using a private key and specified algorithm.

Source

pub fn verify_signature( &self, algorithm: Algorithm, signed_data: &[u8], signature: &[u8], ) -> Result<bool, CFError>

Verifies the cryptographic signature for a block of data using a public key and specified algorithm.

Source

pub fn delete(&self) -> Result<(), Error>

Translates to SecItemDelete, passing in the SecKeyRef

Trait Implementations§

Source§

impl Clone for SecKey

Source§

fn clone(&self) -> SecKey

Returns a copy 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 SecKey

Source§

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

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

impl Drop for SecKey

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl PartialEq for SecKey

Source§

fn eq(&self, other: &SecKey) -> 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 SecKeyExt for SecKey

Source§

fn from_data(key_type: KeyType, key_data: &CFData) -> Result<Self, CFError>

Creates a new SecKey from a buffer containing key data.
Source§

impl TCFType for SecKey

Source§

type Ref = *mut OpaqueSecKeyRef

The reference type wrapped inside this type.
Source§

fn as_concrete_TypeRef(&self) -> SecKeyRef

Returns the object as its concrete TypeRef.
Source§

unsafe fn wrap_under_get_rule(reference: SecKeyRef) -> Self

Returns an instance of the object, wrapping the underlying CFTypeRef subclass. Use this when following Core Foundation’s “Get Rule”. The reference count is bumped.
Source§

fn as_CFTypeRef(&self) -> CFTypeRef

Returns the object as a raw CFTypeRef. The reference count is not adjusted.
Source§

unsafe fn wrap_under_create_rule(reference: SecKeyRef) -> Self

Returns an instance of the object, wrapping the underlying CFTypeRef subclass. Use this when following Core Foundation’s “Create Rule”. The reference count is not bumped.
Source§

fn type_id() -> CFTypeID

Returns the type ID for this class.
Source§

fn as_CFType(&self) -> CFType

Returns the object as a wrapped CFType. The reference count is incremented by one.
Source§

fn into_CFType(self) -> CFType
where Self: Sized,

Returns the object as a wrapped CFType. Consumes self and avoids changing the reference count.
Source§

fn retain_count(&self) -> isize

Returns the reference count of the object. It is unwise to do anything other than test whether the return value of this method is greater than zero.
Source§

fn type_of(&self) -> usize

Returns the type ID of this object.
Source§

fn show(&self)

Writes a debugging version of this object on standard error.
Source§

fn instance_of<OtherCFType>(&self) -> bool
where OtherCFType: TCFType,

Returns true if this value is an instance of another type.
Source§

impl<'a> ToVoid<SecKey> for &'a SecKey

Source§

impl ToVoid<SecKey> for SecKeyRef

Source§

impl ToVoid<SecKey> for SecKey

Source§

impl ConcreteCFType for SecKey

Source§

impl Eq for SecKey

Source§

impl Send for SecKey

Source§

impl Sync for SecKey

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, dst: *mut T)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromMutVoid for T
where T: TCFType,

Source§

unsafe fn from_mut_void<'a>(x: *mut c_void) -> ItemMutRef<'a, T>

Source§

impl<T> FromVoid for T
where T: TCFType,

Source§

unsafe fn from_void<'a>(x: *const c_void) -> ItemRef<'a, T>

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> 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.