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

Example of export and import using KEK.

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();
}
}