Awesome
ripple-vault-client
A javascript / http client to interact with Ripple Vault servers.
The purpose of this tool is to enable applications in any javascript environment to login with the ripple vault and access the decrypted data stored using credentials originally obtained at ripple.com
Spec Tests
Run npm test
to test the high-level behavior specs
Ripple Vault Client
initialization
✓ should be initialized with a domain
✓ should default to ripple.com without a domain
#login
✓ with username and password should retrive the blob, crypt key, and id
#relogin
✓ should retrieve the decrypted blob with id and crypt key
#unlock
✓ should access the wallet secret using encryption secret, username and password
#loginAndUnlock
✓ should get the decrypted blob and decrypted secret given name and password
Blob
#set
✓ should set a new property in the blob
#extend
✓ should extend an object in the blob
#unset
✓ should remove a property from the blob
#unshift
✓ should prepend an item to an array in the blob
#filter
✓ should find a specific entity in an array and apply subcommands to it
#consolidate
✓ should consolidate and save changes to the blob
Vault Client Usage
vaultClient = new VaultClient(domain);
vaultClient.login(username, password, callback);
vaultClient.relogin(id, cryptKey, callback);
vaultClient.unlock(username, password, encryptSecret, callback);
vaultClient.loginAndUnlock(username, password, callback);
vaultClient.exists(username, callback);
vaultClient.register(options, callback);
Blob Client Methods
blobClient.get(url, id, crypt, callback);
blobClient.create(options, callback);
blobClient.verify(url, username, token, callback);
Blob Methods
blob.encrypt();
blob.decrypt(encryptedBlob);
blob.encryptSecret(encryptionKey);
blob.decryptSecret(encryptionKey, secret);
blob.set(pointer, value, callback);
blob.unset(pointer, callback);
blob.extend(pointer, value, callback);
blob.unshift(pointer, value, callback);
blob.filter(pointer, field, value, subcommands, callback);
Installation
npm install ripple-vault-client