use of java.security.Key in project nhin-d by DirectProject.
the class KeyPrinter method getColumnValue.
@Override
protected String getColumnValue(ReportColumn column, KeyModel model) {
try {
if (column.getHeader().equals(KEY_TYPE_COL)) {
String type = "";
final Key key = model.getKey();
if (key instanceof javax.crypto.SecretKey)
type = "Secret Key: " + key.getAlgorithm();
else if (key instanceof java.security.PublicKey)
type = "Public Key: " + key.getAlgorithm();
else if (key instanceof java.security.PrivateKey)
type = "Key Pair: " + key.getAlgorithm();
else
type = key.getClass().toString();
return type;
} else if (column.getHeader().equals(KEY_TEXT_COL)) {
return new String(model.getKeyText());
} else if (column.getHeader().equals(KEY_TB_COL)) {
byte[] data = null;
final Key key = model.getKey();
if (key instanceof javax.crypto.SecretKey)
data = ((javax.crypto.SecretKey) key).getEncoded();
else if (key instanceof java.security.PublicKey)
data = ((java.security.PublicKey) key).getEncoded();
else if (key instanceof java.security.PrivateKey)
data = ((java.security.PrivateKey) key).getEncoded();
if (data == null)
return "NA";
final MessageDigest sha = MessageDigest.getInstance("SHA-1");
byte[] hash = sha.digest(data);
return Hex.encodeHexString(hash);
} else
return super.getColumnValue(column, model);
} catch (Exception e) {
return "ERROR: " + e.getMessage();
}
}
use of java.security.Key in project nhin-d by DirectProject.
the class AbstractPKCS11TokenKeyStoreProtectionManager method setPrivateKeyProtectionKeyAsString.
/**
* {@inheritDoc}
*/
@Override
public void setPrivateKeyProtectionKeyAsString(String key) throws CryptoException {
try {
final Key keySpec = new SecretKeySpec(key.getBytes(), "");
safeSetKeyWithRetry(privateKeyPassPhraseAlias, keySpec);
} catch (CryptoException e) {
throw e;
} catch (Exception e) {
throw new CryptoException("Error storing key store protection into PKCS11 token", e);
}
}
use of java.security.Key in project nhin-d by DirectProject.
the class AbstractPKCS11TokenKeyStoreProtectionManager method setKeyStoreProtectionKeyAsBytes.
/**
* {@inheritDoc}
*/
@Override
public void setKeyStoreProtectionKeyAsBytes(byte[] key) throws CryptoException {
try {
final Key keySpec = new SecretKeySpec(key, "");
safeSetKeyWithRetry(keyStorePassPhraseAlias, keySpec);
} catch (CryptoException e) {
throw e;
} catch (Exception e) {
throw new CryptoException("Error storing key store protection into PKCS11 token", e);
}
}
use of java.security.Key in project nhin-d by DirectProject.
the class StaticPKCS11TokenKeyStoreProtectionManagerTest method testGetAllKeys_secureRandomGenKeys.
@Test
public void testGetAllKeys_secureRandomGenKeys() throws Exception {
final String pkcs11ProvName = TestUtils.setupSafeNetToken();
if (!StringUtils.isEmpty(pkcs11ProvName)) {
PKCS11Credential cred = new BootstrappedPKCS11Credential("1Kingpuff");
final StaticPKCS11TokenKeyStoreProtectionManager mgr = new StaticPKCS11TokenKeyStoreProtectionManager(cred, "KeyStoreProtKey", "PrivKeyProtKey");
// create the keys on the token
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
// cryptograph. secure random
SecureRandom random = new SecureRandom();
keyGen.init(random);
final SecretKey keyStoreSecretKey = keyGen.generateKey();
mgr.clearKeyStoreProtectionKey();
mgr.setKeyStoreProtectionKey(keyStoreSecretKey);
keyGen = KeyGenerator.getInstance("AES");
// cryptograph. secure random
random = new SecureRandom();
keyGen.init(random);
final SecretKey privKeySecretKey = keyGen.generateKey();
mgr.clearPrivateKeyProtectionKey();
mgr.setPrivateKeyProtectionKey(privKeySecretKey);
final Map<String, Key> keys = mgr.getAllKeys();
assertEquals(2, keys.size());
Iterator<Entry<String, Key>> entryIter = keys.entrySet().iterator();
Key key = entryIter.next().getValue();
assertTrue(Arrays.equals(privKeySecretKey.getEncoded(), key.getEncoded()));
key = entryIter.next().getValue();
assertTrue(Arrays.equals(keyStoreSecretKey.getEncoded(), key.getEncoded()));
}
}
use of java.security.Key in project nhin-d by DirectProject.
the class BootstrappedKeyStoreProtectionManagerTest method testGetAllKeys.
@Test
public void testGetAllKeys() throws Exception {
BootstrappedKeyStoreProtectionManager mgr = new BootstrappedKeyStoreProtectionManager();
mgr.setKeyStoreProtectionKey("1234");
mgr.setPrivateKeyProtectionKey("5678");
final Map<String, Key> keys = mgr.getAllKeys();
assertEquals(2, keys.size());
Iterator<Entry<String, Key>> entryIter = keys.entrySet().iterator();
Key key = entryIter.next().getValue();
assertTrue(Arrays.equals("5678".getBytes(), key.getEncoded()));
key = entryIter.next().getValue();
assertTrue(Arrays.equals("1234".getBytes(), key.getEncoded()));
}
Aggregations