pub enum InitUserCryptoMethod {
MasterPasswordUnlock {
password: String,
master_password_unlock: MasterPasswordUnlockData,
},
ClientManagedState {},
DecryptedKey {
decrypted_user_key: String,
},
Pin {
pin: String,
pin_protected_user_key: EncString,
},
PinEnvelope {
pin: String,
pin_protected_user_key_envelope: PasswordProtectedKeyEnvelope,
},
AuthRequest {
request_private_key: B64,
method: AuthRequestMethod,
},
DeviceKey {
device_key: String,
protected_device_private_key: EncString,
device_protected_user_key: UnsignedSharedKey,
},
KeyConnector {
master_key: B64,
user_key: EncString,
},
KeyConnectorUrl {
url: String,
key_connector_key_wrapped_user_key: EncString,
},
}Expand description
The crypto method used to initialize the user cryptographic state.
Variants§
MasterPasswordUnlock
Master Password Unlock
Fields
master_password_unlock: MasterPasswordUnlockDataContains the data needed to unlock with the master password
ClientManagedState
Read the user-key directly from client-managed state
Note: In contrast to InitUserCryptoMethod::DecryptedKey, this does not update the state
after initalizing
DecryptedKey
Never lock and/or biometric unlock
Fields
Pin
PIN
Fields
pin_protected_user_key: EncStringThe user’s symmetric crypto key, encrypted with the PIN. Use derive_pin_key to obtain
this.
PinEnvelope
PIN Envelope
Fields
pin_protected_user_key_envelope: PasswordProtectedKeyEnvelopeThe user’s symmetric crypto key, encrypted with the PIN-protected key envelope.
AuthRequest
Auth request
Fields
request_private_key: B64Private Key generated by the crate::auth::new_auth_request.
method: AuthRequestMethodThe type of auth request
DeviceKey
Device Key
Fields
protected_device_private_key: EncStringThe Device Private Key
device_protected_user_key: UnsignedSharedKeyThe user’s symmetric crypto key, encrypted with the Device Key.
KeyConnector
Key connector
Fields
master_key: B64Base64 encoded master key, retrieved from the key connector.
user_key: EncStringThe user’s encrypted symmetric crypto key
KeyConnectorUrl
In contrast to key-connector, this does all of the connection with key-connector in the sdk
Trait Implementations§
Source§impl<UT> ConvertError<UT> for InitUserCryptoMethod
impl<UT> ConvertError<UT> for InitUserCryptoMethod
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for InitUserCryptoMethod
impl Debug for InitUserCryptoMethod
Source§impl<'de> Deserialize<'de> for InitUserCryptoMethod
impl<'de> Deserialize<'de> for InitUserCryptoMethod
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>,
Source§impl<UT> FfiConverter<UT> for InitUserCryptoMethod
impl<UT> FfiConverter<UT> for InitUserCryptoMethod
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl From<InitUserCryptoMethod> for JsValuewhere
InitUserCryptoMethod: Serialize,
impl From<InitUserCryptoMethod> for JsValuewhere
InitUserCryptoMethod: Serialize,
Source§fn from(value: InitUserCryptoMethod) -> Self
fn from(value: InitUserCryptoMethod) -> Self
Source§impl FromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
impl FromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
Source§impl IntoWasmAbi for &InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
impl IntoWasmAbi for &InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
Source§impl IntoWasmAbi for InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
impl IntoWasmAbi for InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
Source§impl<UT> Lift<UT> for InitUserCryptoMethod
impl<UT> Lift<UT> for InitUserCryptoMethod
Source§impl<UT> LiftRef<UT> for InitUserCryptoMethod
impl<UT> LiftRef<UT> for InitUserCryptoMethod
Source§impl<UT> LiftReturn<UT> for InitUserCryptoMethod
impl<UT> LiftReturn<UT> for InitUserCryptoMethod
Source§type ReturnType = <InitUserCryptoMethod as Lift<UT>>::FfiType
type ReturnType = <InitUserCryptoMethod as Lift<UT>>::FfiType
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> Lower<UT> for InitUserCryptoMethod
impl<UT> Lower<UT> for InitUserCryptoMethod
Source§impl<UT> LowerError<UT> for InitUserCryptoMethod
impl<UT> LowerError<UT> for InitUserCryptoMethod
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for InitUserCryptoMethod
impl<UT> LowerReturn<UT> for InitUserCryptoMethod
Source§type ReturnType = <InitUserCryptoMethod as Lower<UT>>::FfiType
type ReturnType = <InitUserCryptoMethod as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl OptionFromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
impl OptionIntoWasmAbi for InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
Source§impl RefFromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
impl RefFromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
Self are recovered from.Source§type Anchor = SelfOwner<InitUserCryptoMethod>
type Anchor = SelfOwner<InitUserCryptoMethod>
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 InitUserCryptoMethod
impl Serialize for InitUserCryptoMethod
Source§impl Tsify for InitUserCryptoMethod
impl Tsify for InitUserCryptoMethod
const DECL: &'static str = "/**\n * The crypto method used to initialize the user cryptographic state.\n */\nexport type InitUserCryptoMethod = { masterPasswordUnlock: { password: string; master_password_unlock: MasterPasswordUnlockData } } | { clientManagedState: {} } | { decryptedKey: { decrypted_user_key: string } } | { pin: { pin: string; pin_protected_user_key: EncString } } | { pinEnvelope: { pin: string; pin_protected_user_key_envelope: PasswordProtectedKeyEnvelope } } | { authRequest: { request_private_key: B64; method: AuthRequestMethod } } | { deviceKey: { device_key: string; protected_device_private_key: EncString; device_protected_user_key: UnsignedSharedKey } } | { keyConnector: { master_key: B64; user_key: EncString } } | { keyConnectorUrl: { url: string; key_connector_key_wrapped_user_key: EncString } };"
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 InitUserCryptoMethod
impl<UT> TypeId<UT> for InitUserCryptoMethod
const TYPE_ID_META: MetadataBuffer
Source§impl VectorFromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for InitUserCryptoMethodwhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
impl VectorIntoWasmAbi for InitUserCryptoMethodwhere
InitUserCryptoMethod: Serialize,
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
Source§impl WasmDescribe for InitUserCryptoMethod
impl WasmDescribe for InitUserCryptoMethod
Auto Trait Implementations§
impl Freeze for InitUserCryptoMethod
impl RefUnwindSafe for InitUserCryptoMethod
impl Send for InitUserCryptoMethod
impl Sync for InitUserCryptoMethod
impl Unpin for InitUserCryptoMethod
impl UnsafeUnpin for InitUserCryptoMethod
impl UnwindSafe for InitUserCryptoMethod
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
§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
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
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>
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§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
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.