public class VaultManager
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
DATA_VAULT |
static java.lang.String |
KEY_VAULT |
static java.lang.String |
LOCAL_VAULT |
static java.lang.String |
USER_VAULT |
| Constructor and Description |
|---|
VaultManager() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addKey(ClearText ct) |
void |
addKeyPair(DualEntry dualEntry,
java.lang.String alias)
Adding a public private key.
|
void |
addSecretData(DualEntry dualEntry,
java.lang.String alias,
ClearText ct)
Adding secret to the data vault.
|
void |
addUser(Credential newUser,
Credential existingUser) |
void |
changePassphrase(DualEntry dualEntry)
Change secret password.
|
void |
changePassword(java.lang.String user,
char[] oldPwd,
char[] newPwd) |
void |
close() |
byte[] |
decrypt(Credential credential,
java.lang.String secret) |
byte[] |
decrypt(Credential credential,
java.lang.String key,
java.lang.String secret,
java.lang.String iv) |
byte[] |
decryptPrivate(java.lang.String secret) |
java.lang.String |
encrypt(Credential credential,
java.lang.String key,
byte[] data,
java.lang.String iv) |
java.lang.String |
encryptPublic(byte[] data) |
static byte[] |
generateEncodedAsymmetricKey(AsymmetricCipher asymmetricCipher)
Generate an asymmetric key pair, return encoded key components
|
java.lang.String |
generateKey(DualEntry dualEntry) |
java.lang.String |
generateKey(DualEntry dualEntry,
boolean asymmetricKey) |
AsymmetricCipher |
getAsymmetricCipher() |
ClearText |
getKey(DualEntry dualEntry,
java.lang.String keyAlias,
java.lang.String version) |
protected ClearText |
getKey(java.lang.String keyAlias,
java.lang.String version) |
VaultStore |
getKeyDataStore() |
java.security.spec.RSAPublicKeySpec |
getPublicKey() |
ClearText |
getSecretData(Credential credential,
java.lang.String alias) |
ClearText |
getSecretData(Credential credential,
java.lang.String alias,
java.lang.String version) |
ClearText |
getSignature() |
SymmetricCipher |
getSymmetricCipher() |
VaultStore |
getUserLocalStore() |
java.lang.String |
importData(DualEntry dualEntry,
java.lang.String plainData,
java.lang.String iv) |
java.lang.String |
importData(DualEntry dualEntry,
java.lang.String plainData,
java.lang.String iv,
java.lang.String version) |
java.lang.String |
importKey(DualEntry dualEntry,
java.lang.String plainKey,
java.lang.String iv)
Imports a plan key.
|
java.lang.String |
importKey(DualEntry dualEntry,
java.lang.String plainKey,
java.lang.String iv,
boolean asymmetricKey)
Imports a plan key.
|
java.lang.String |
importKey(DualEntry dualEntry,
java.lang.String plainKey,
java.lang.String iv,
boolean asymmetricKey,
java.lang.String version)
Imports a plan key.
|
java.lang.String |
importKey(DualEntry dualEntry,
java.lang.String plainKey,
java.lang.String iv,
java.lang.String version)
Imports a plan key.
|
byte[] |
internalDecrypt(java.lang.String encoded) |
java.util.Set<java.lang.String> |
listUsers() |
void |
newMasterKey(DualEntry dualEntry) |
void |
open(DualEntry dualEntry) |
void |
passphraseLock(DualEntry dualEntry,
java.lang.String alias,
ClearText ct) |
ClearText |
passphraseUnlock(Credential credential,
java.lang.String alias) |
void |
restore(DualEntry dualEntry,
java.lang.String version) |
void |
save() |
void |
setKeyDataStore(VaultStore keyDataStore) |
void |
setUserLocalStore(VaultStore userLocalStore) |
boolean |
validateUser(java.lang.String user,
char[] password) |
public static final java.lang.String KEY_VAULT
public static final java.lang.String USER_VAULT
public static final java.lang.String DATA_VAULT
public static final java.lang.String LOCAL_VAULT
public VaultStore getKeyDataStore()
public void setKeyDataStore(VaultStore keyDataStore)
public VaultStore getUserLocalStore()
public void setUserLocalStore(VaultStore userLocalStore)
public SymmetricCipher getSymmetricCipher()
public AsymmetricCipher getAsymmetricCipher()
public java.security.spec.RSAPublicKeySpec getPublicKey()
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic boolean validateUser(java.lang.String user,
char[] password)
public void addKeyPair(DualEntry dualEntry, java.lang.String alias) throws java.security.GeneralSecurityException
dualEntry - dual entry containing authentication info for two users.alias - alias of the keyjava.security.GeneralSecurityException - general exceptionpublic void addSecretData(DualEntry dualEntry, java.lang.String alias, ClearText ct) throws java.security.GeneralSecurityException
dualEntry - dual entry containing authentication info for two users.alias - alias of the secret datact - clear text of the secretjava.security.GeneralSecurityException - general exceptionpublic ClearText getSecretData(Credential credential, java.lang.String alias) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic ClearText getSecretData(Credential credential, java.lang.String alias, java.lang.String version) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic java.lang.String generateKey(DualEntry dualEntry) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic java.lang.String generateKey(DualEntry dualEntry, boolean asymmetricKey) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic static byte[] generateEncodedAsymmetricKey(AsymmetricCipher asymmetricCipher) throws java.security.GeneralSecurityException
asymmetricCipher - the AsymmetricCipherjava.security.GeneralSecurityException - general exceptionpublic java.lang.String importKey(DualEntry dualEntry, java.lang.String plainKey, java.lang.String iv) throws java.security.GeneralSecurityException
dualEntry - dual entryplainKey - plain keyiv - initialization vector. If null, randomly generatedjava.security.GeneralSecurityExceptionpublic java.lang.String importKey(DualEntry dualEntry, java.lang.String plainKey, java.lang.String iv, java.lang.String version) throws java.security.GeneralSecurityException
dualEntry - dual entryplainKey - plain keyiv - initialization vector. If null, randomly generatedversion - key version. If null, randomly generatedjava.security.GeneralSecurityExceptionpublic java.lang.String importKey(DualEntry dualEntry, java.lang.String plainKey, java.lang.String iv, boolean asymmetricKey) throws java.security.GeneralSecurityException
dualEntry - dual entryplainKey - plain keyiv - initialization vector. If null, randomly generatedasymmetricKey - whether the key is asymmetric keyjava.security.GeneralSecurityExceptionpublic java.lang.String importKey(DualEntry dualEntry, java.lang.String plainKey, java.lang.String iv, boolean asymmetricKey, java.lang.String version) throws java.security.GeneralSecurityException
dualEntry - dual entryplainKey - plain keyiv - initialization vector. If null, randomly generatedasymmetricKey - whether the key is asymmetric keyversion - key version. If null, randomly generatedjava.security.GeneralSecurityExceptionpublic java.lang.String importData(DualEntry dualEntry, java.lang.String plainData, java.lang.String iv) throws java.security.GeneralSecurityException
dualEntry - dual entryplainData - the plain data to be importediv - initialization vector. If null, randomly generatedjava.security.GeneralSecurityExceptionpublic java.lang.String importData(DualEntry dualEntry, java.lang.String plainData, java.lang.String iv, java.lang.String version) throws java.security.GeneralSecurityException
dualEntry - dual entryversion - version of the master key. If null, use the latest version.plainData - the plain data to be importediv - initialization vector. If null, randomly generatedjava.security.GeneralSecurityExceptionpublic java.lang.String encrypt(Credential credential, java.lang.String key, byte[] data, java.lang.String iv) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic byte[] decrypt(Credential credential, java.lang.String key, java.lang.String secret, java.lang.String iv) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic byte[] decrypt(Credential credential, java.lang.String secret) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic java.lang.String encryptPublic(byte[] data)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic byte[] decryptPrivate(java.lang.String secret)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic void addUser(Credential newUser, Credential existingUser) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic void changePassword(java.lang.String user,
char[] oldPwd,
char[] newPwd)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic void passphraseLock(DualEntry dualEntry, java.lang.String alias, ClearText ct) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic ClearText passphraseUnlock(Credential credential, java.lang.String alias) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic void newMasterKey(DualEntry dualEntry) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic ClearText getSignature()
public void changePassphrase(DualEntry dualEntry) throws java.security.GeneralSecurityException
dualEntry - dual entry containing authentication info for two users.java.security.GeneralSecurityException - general security exceptionpublic void restore(DualEntry dualEntry, java.lang.String version) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic byte[] internalDecrypt(java.lang.String encoded)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic void save()
throws java.io.IOException
java.io.IOExceptionpublic void close()
throws java.io.IOException
java.io.IOExceptionpublic void open(DualEntry dualEntry) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic ClearText getKey(DualEntry dualEntry, java.lang.String keyAlias, java.lang.String version) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionprotected ClearText getKey(java.lang.String keyAlias, java.lang.String version) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionprotected void addKey(ClearText ct) throws java.security.GeneralSecurityException
java.security.GeneralSecurityExceptionpublic java.util.Set<java.lang.String> listUsers()
throws java.security.GeneralSecurityException
java.security.GeneralSecurityException