Skip to main content

Module access

Module access 

Source
Expand description

Read access to a 1Password account: log in with the master password and Secret Key, then download and decrypt every accessible vault into a native 1Password model.

A port of the OnePassword module in Bitwardenโ€™s C# password-manager-access library. See README.md for the porting notes and open questions.

Re-exportsยง

pub use client::Client;
pub use credentials::Credentials;
pub use device::generate_device_uuid;
pub use error::OnePasswordError;
pub use sign_in::SignInAddress;
pub use sign_in::SignInDomain;
pub use two_factor::TotpResult;
pub use two_factor::TwoFactorUi;

Modulesยง

account_key ๐Ÿ”’
Account Key (Secret Key): A2/A3 parse, HKDF-SHA256 hash, and XOR combine.
client ๐Ÿ”’
The entry point: log in, unlock the accountโ€™s keys, download its vaults.
credentials ๐Ÿ”’
The credentials a password login needs.
device ๐Ÿ”’
The device identity presented to 1Password and its registration.
error ๐Ÿ”’
Error type for the 1Password client.
identity ๐Ÿ”’
The 1Password client this module impersonates.
kdf ๐Ÿ”’
HKDF-SHA256, PBES2 (PBKDF2-HS256), and master-key derivation.
keychain ๐Ÿ”’
Key store keyed by kid, scheme dispatch, and keyset topological decrypt.
login ๐Ÿ”’
The password + Secret Key login state machine.
mac ๐Ÿ”’
X-AgileBits-MAC request signer.
model
What a download yields: vaults holding items, each item still in its decrypted 1Password shape.
opdata ๐Ÿ”’
AES-256-GCM โ€œopdataโ€ envelope with the tag appended after the ciphertext.
rest ๐Ÿ”’
reqwest wrapper: identity headers, the MAC signing hook, encrypted GET/POST, and error parsing.
rsa ๐Ÿ”’
RSA-OAEP (SHA1/SHA256) decrypt from 1Passwordโ€™s JWK.
session ๐Ÿ”’
The signed channel a completed login leaves behind.
sign_in ๐Ÿ”’
The sign-in address an account lives at: its subdomain and one of 1Passwordโ€™s domains.
srp ๐Ÿ”’
SRP-4096: the A/B exchange with the server and the crypto behind it.
two_factor ๐Ÿ”’
Two-factor authentication: the callback the caller implements and the TOTP exchange that drives it.
wire
serde DTOs for every 1Password endpoint.