Java API
HSM Dinamo
Loading...
Looking for...
No entries found
ExportImportKeyWithKek.java

Example of export and import using KEK.

See Note on examples.
package doxy.examples;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class ExportImportKeyWithKek {
public static void main(String[] args) throws TacException {
String keyId = "aes256";
String importedKeyId = "aes256_imp";
String kekId = "rsa2048";
String ip = "127.0.0.1";
String user = "master";
String password = "12345678";
Dinamo api = new Dinamo();
// Abre sessão
api.openSession(ip, user, password, false);
// Cria a chave que será exportada
api.createKey(keyId, TacNDJavaLib.ALG_AES_256, true);
// Cria chave KEK
api.createKey(kekId, TacNDJavaLib.ALG_RSA_2048, true);
// Recupera handle da chave KEK
byte[] kek = api.getUserKey(kekId);
// Define os parâmetros de exportação da chave KEK
api.setPadding(kek, TacNDJavaLib.D_OAEP_SHA2_256_PADDING);
// Exporta a chave aes256
byte[] exportedKey = api.exportKey(keyId, kek, TacNDJavaLib.WRAPPED_KEY_BLOB);
// Importa a chave aes256
byte[] importedKey = null;
api.importKey(importedKeyId, kek, TacNDJavaLib.WRAPPED_KEY_BLOB,
TacNDJavaLib.ALG_AES_256, TacNDJavaLib.EXPORTABLE_KEY,
exportedKey, null);
// Remove chaves de teste
api.deleteKey(keyId);
api.deleteKey(importedKeyId);
api.deleteKey(kekId);
// Fecha sessão
api.closeSession();
}
}