pub struct V2UpgradeToken {
pub wrapped_user_key_1: EncString,
pub wrapped_user_key_2: EncString,
}Expand description
Holds both V1 and V2 user keys, each wrapped by the other.
Fields§
§wrapped_user_key_1: EncStringV1 user key encrypted with V2 key (Cose_Encrypt0_B64 format)
wrapped_user_key_2: EncStringV2 user key encrypted with V1 key (Aes256Cbc_HmacSha256_B64 format)
Implementations§
Source§impl V2UpgradeToken
impl V2UpgradeToken
Sourcepub fn create<Ids: KeyIds>(
v1_key_id: Ids::Symmetric,
v2_key_id: Ids::Symmetric,
ctx: &KeyStoreContext<'_, Ids>,
) -> Result<Self, V2UpgradeTokenError>
pub fn create<Ids: KeyIds>( v1_key_id: Ids::Symmetric, v2_key_id: Ids::Symmetric, ctx: &KeyStoreContext<'_, Ids>, ) -> Result<Self, V2UpgradeTokenError>
Creates a new V2UpgradeToken from v1_key_id (Aes256CbcHmac) and v2_key_id
(XChaCha20Poly1305) in the KeyStore. Type-checks both keys, then wraps V1 with V2 and
V2 with V1.
Sourcepub fn unwrap_v1<Ids: KeyIds>(
&self,
v2_key_id: Ids::Symmetric,
ctx: &mut KeyStoreContext<'_, Ids>,
) -> Result<Ids::Symmetric, V2UpgradeTokenError>
pub fn unwrap_v1<Ids: KeyIds>( &self, v2_key_id: Ids::Symmetric, ctx: &mut KeyStoreContext<'_, Ids>, ) -> Result<Ids::Symmetric, V2UpgradeTokenError>
Unwraps wrapped_user_key_1 using v2_key_id, validates the result can unwrap
wrapped_user_key_2, then adds the V1 key to the KeyStore and returns its key ID.
Sourcepub fn unwrap_v2<Ids: KeyIds>(
&self,
v1_key_id: Ids::Symmetric,
ctx: &mut KeyStoreContext<'_, Ids>,
) -> Result<Ids::Symmetric, V2UpgradeTokenError>
pub fn unwrap_v2<Ids: KeyIds>( &self, v1_key_id: Ids::Symmetric, ctx: &mut KeyStoreContext<'_, Ids>, ) -> Result<Ids::Symmetric, V2UpgradeTokenError>
Unwraps wrapped_user_key_2 using v1_key_id, validates the result can unwrap
wrapped_user_key_1, then adds the V2 key to the KeyStore and returns its key ID.
Trait Implementations§
Source§impl Clone for V2UpgradeToken
impl Clone for V2UpgradeToken
Source§fn clone(&self) -> V2UpgradeToken
fn clone(&self) -> V2UpgradeToken
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<UT> ConvertError<UT> for V2UpgradeToken
impl<UT> ConvertError<UT> for V2UpgradeToken
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for V2UpgradeToken
impl Debug for V2UpgradeToken
Source§impl<'de> Deserialize<'de> for V2UpgradeToken
impl<'de> Deserialize<'de> for V2UpgradeToken
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<UT> FfiConverter<UT> for V2UpgradeToken
impl<UT> FfiConverter<UT> for V2UpgradeToken
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Type ID metadata, serialized into a [MetadataBuffer].
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
The low-level type used for passing values of this type over the FFI. Read more
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Lower a rust value of the target type, into an FFI value of type Self::FfiType. Read more
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Lift a rust value of the target type, from an FFI value of type Self::FfiType. Read more
Source§impl From<V2UpgradeToken> for JsValuewhere
V2UpgradeToken: Serialize,
impl From<V2UpgradeToken> for JsValuewhere
V2UpgradeToken: Serialize,
Source§fn from(value: V2UpgradeToken) -> Self
fn from(value: V2UpgradeToken) -> Self
Converts to this type from the input type.
Source§impl FromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
impl FromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
Source§impl IntoWasmAbi for &V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
impl IntoWasmAbi for &V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
Source§impl IntoWasmAbi for V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
impl IntoWasmAbi for V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
Source§impl<UT> Lift<UT> for V2UpgradeToken
impl<UT> Lift<UT> for V2UpgradeToken
Source§impl<UT> LiftRef<UT> for V2UpgradeToken
impl<UT> LiftRef<UT> for V2UpgradeToken
type LiftType = V2UpgradeToken
Source§impl<UT> LiftReturn<UT> for V2UpgradeToken
impl<UT> LiftReturn<UT> for V2UpgradeToken
Source§type ReturnType = <V2UpgradeToken as Lift<UT>>::FfiType
type ReturnType = <V2UpgradeToken as Lift<UT>>::FfiType
FFI return type for trait interfaces
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Lift a successfully returned value from a trait interface
§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Lift a foreign returned value from a trait interface Read more
§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Lift a Rust value for a callback interface method error result Read more
§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Lift a Rust value for an unexpected callback interface error Read more
Source§impl<UT> Lower<UT> for V2UpgradeToken
impl<UT> Lower<UT> for V2UpgradeToken
Source§impl<UT> LowerError<UT> for V2UpgradeToken
impl<UT> LowerError<UT> for V2UpgradeToken
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Lower this value for scaffolding function return Read more
Source§impl<UT> LowerReturn<UT> for V2UpgradeToken
impl<UT> LowerReturn<UT> for V2UpgradeToken
Source§type ReturnType = <V2UpgradeToken as Lower<UT>>::FfiType
type ReturnType = <V2UpgradeToken as Lower<UT>>::FfiType
The type that should be returned by scaffolding functions for this type. Read more
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Lower the return value from an scaffolding call Read more
§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Lower the return value for failed argument lifts Read more
Source§impl OptionFromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
impl OptionIntoWasmAbi for V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
Source§impl RefFromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
impl RefFromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
The Wasm ABI type references to
Self are recovered from.Source§type Anchor = SelfOwner<V2UpgradeToken>
type Anchor = SelfOwner<V2UpgradeToken>
The type that holds the reference to
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl Serialize for V2UpgradeToken
impl Serialize for V2UpgradeToken
Source§impl TryFrom<&V2UpgradeTokenResponseModel> for V2UpgradeToken
impl TryFrom<&V2UpgradeTokenResponseModel> for V2UpgradeToken
Source§impl Tsify for V2UpgradeToken
impl Tsify for V2UpgradeToken
const DECL: &'static str = "/**\n * Holds both V1 and V2 user keys, each wrapped by the other.\n */\nexport interface V2UpgradeToken {\n /**\n * V1 user key encrypted with V2 key (Cose_Encrypt0_B64 format)\n */\n wrapped_user_key_1: EncString;\n /**\n * V2 user key encrypted with V1 key (Aes256Cbc_HmacSha256_B64 format)\n */\n wrapped_user_key_2: EncString;\n}"
const SERIALIZATION_CONFIG: SerializationConfig
type JsType = JsType
fn into_js(&self) -> Result<Self::JsType, Error>where
Self: Serialize,
fn from_js<T>(js: T) -> Result<Self, Error>
Source§impl<UT> TypeId<UT> for V2UpgradeToken
impl<UT> TypeId<UT> for V2UpgradeToken
const TYPE_ID_META: MetadataBuffer
Source§impl VectorFromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for V2UpgradeTokenwhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
impl VectorIntoWasmAbi for V2UpgradeTokenwhere
V2UpgradeToken: Serialize,
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
Source§impl WasmDescribe for V2UpgradeToken
impl WasmDescribe for V2UpgradeToken
Auto Trait Implementations§
impl Freeze for V2UpgradeToken
impl RefUnwindSafe for V2UpgradeToken
impl Send for V2UpgradeToken
impl Sync for V2UpgradeToken
impl Unpin for V2UpgradeToken
impl UnsafeUnpin for V2UpgradeToken
impl UnwindSafe for V2UpgradeToken
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.